MalekBV
@MalekBV

Ошибка при отправке на почту письма Django 2?

Здравствуйте, столкнулся с проблемкой, отправка письма на почту (через форму) всегда работала, но сегодня когда я также через форму хотел отправить письмо на почту появилась данная ошибка:

UnicodeEncodeError at /
'ascii' codec can't encode characters in position 7-8: ordinal not in range(128)


Вот мой forms.py

# -*- coding: utf-8 -*- 
from django import forms

class ContactForm(forms.Form):
    name = forms.CharField(label="Имя", max_length = 20)
    email = forms.EmailField(label="Email")
    phone = forms.CharField(label="Телефон", max_length = 20)
    message = forms.CharField(label="Сообщение", widget = forms.Textarea, required = False, max_length = 100)


Views.py

# -*- coding: utf-8 -*-
from .forms import ContactForm
from django.core import mail
from django.conf import settings

def index(request):
    categories = Category.objects.all()
    if request.method == "POST":
        form = ContactForm(request.POST)
        if form.is_valid():
            sender_name = form.cleaned_data['name']
            sender_email = form.cleaned_data['email']
            sender_phone = form.cleaned_data['phone']
            message = """НОВАЯ ЗАЯВКА\n\nИмя: {0}\nПочта: {1}\nТелефон: {2}\n\nСообщение:\n\n{3}""".format(sender_name, sender_email, sender_phone, form.cleaned_data['message'])

            with mail.get_connection() as connection:
                mail.EmailMessage(
                    'ЗАЯВКА (peno.decor)', message, 'mamagonda@mail.ru', ['mamagonda@mail.ru'], connection=connection,
                ).send()

            return render(request, 'main/thank.html', {'name': sender_name})

    else:
        form = ContactForm()

    return render(request, 'main/home.html', {'categories': categories, 'form': form})


Шаблон обычный, форму выводит. Отправка всегда работала и неожиданно теперь появляется ошибка
Помогите пожалуйста

settings.py
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

EMAIL_HOST = 'smtp.mail.ru'
EMAIL_PORT = 2525
EMAIL_HOST_USER = "mamagonda@mail.ru"
EMAIL_HOST_PASSWORD = "somepass"
EMAIL_USE_TLS = True

SERVER_EMAIL = EMAIL_HOST_USER
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
  • Вопрос задан
  • 132 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

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