Задать вопрос

Как кастомизировать письмо отправленое через smtp?

У меня есть функция которая отправляет письмо на почту с данными которые пользователь заполняет на сайте. Проблема в том что есть отправлять все ети даные то получаеться просто каша. Как можно кастомизировать ето письмо что бы оно выглядело хотябы как табличка с даными.

def checkout(request):
    session_key = request.session.session_key
    products_in_basket = ProductInBasket.objects.filter(session_key=session_key, is_active=True, order__isnull=True)
    print (products_in_basket)
    for item in products_in_basket:
        print(item.order)


    form = CheckoutContactForm(request.POST or None)
    if request.POST:
        print(request.POST)
        if form.is_valid():
            print("yes")
            data = request.POST
            name = data.get("name", "3423453")
            phone = data["phone"]
            address = data.get("address")
            user, created = User.objects.get_or_create(username=name, defaults={"first_name": name})

            order = Order.objects.create(user=user, customer_name=name, customer_phone=phone, customer_address=address)
            msg = phone + name
            smtp = smtplib.SMTP("localhost", 1025)
            smtp.sendmail('burychko.zenoviy@gmail.com', 'oks.borovikova@gmail.com', ('Thank for order!'+msg))

            for name, value in data.items():
                if name.startswith("product_in_basket_"):
                    product_in_basket_id = name.split("product_in_basket_")[1]
                    product_in_basket = ProductInBasket.objects.get(id=product_in_basket_id)
                    print(type(value))

                    product_in_basket.nmb = value
                    product_in_basket.order = order
                    product_in_basket.save(force_update=True)

                    ProductInOrder.objects.create(product=product_in_basket.product, nmb = product_in_basket.nmb,
                                                  price_per_item=product_in_basket.price_per_item,
                                                  total_price = product_in_basket.total_price,
                                                  order=order)




            return HttpResponseRedirect(request.META['HTTP_REFERER'])
        else:
            print("no")

    return render(request, 'orders/checkout.html', locals())
  • Вопрос задан
  • 74 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
netpastor
@netpastor
Python developer
https://docs.djangoproject.com/en/dev/topics/email...
Ну а содержимое письма если в лом самому собирать - сделай текстовый шаблон и отрендери его, передав в него нужные данные
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы