Здравствуйте, столкнулся с проблемкой, отправка письма на почту (через форму) всегда работала, но сегодня когда я также через форму хотел отправить письмо на почту появилась данная ошибка:
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