Странный Django TypeError: send mail() принимает по крайней мере 4 аргумента (4 дано)
Я пытаюсь на самом деле проверить отправку электронной почты с помощью mailtrap.io, и я настраиваю почтовый сервер, как указано, однако, когда я пытаюсь сделать следующее:
form = InterestedForm(request.POST)
if form.is_valid():
name = form.cleaned_data['name']
email = form.cleaned_data['email']
subject = "Index form: Interested in Ucodon"
message = 'Name: ' + name + 'n' + 'Email: ' + email
recipients=['test@gmail.com']
send_mail(subject, message, recipients, fail_silently=False)
thanks = True
Я получаю следующую ошибку:
TypeError: send_mail() takes at least 4 arguments (4 given)
Я даже попробовал следующее:
send_mail(subject=subject, message=message, recipients=recipients, fail_silently=False)
Кроме того, я определил EMAIL_HOST_USER. В настоящее время я использую EMAIL_HOST='mailtrap.io".
2 ответа:
send_mail(subject, message, from_email, recipient_list, fail_silently=False, auth_user=None, auth_password=None, connection=None, html_message=None)¶
Вам не хватает аргумента
from_email
.Либо установите его, либо передайте
None
- в этом случае Django будет использоватьDEFAULT_FROM_EMAIL
значение настройки:send_mail(subject, message, None, recipients, fail_silently=False)
Требуется тема, сообщение, from_email и получатель. Я не вижу, что вы предоставили from_email. Вы можете обратиться к https://docs.djangoproject.com/en/dev/topics/email/#send-mail для получения дополнительной информации.