怪异的Django TypeError:send_mail()至少接受4个参数(给定4个)
我正在尝试使用mailtrap.io实际测试发送电子邮件,但是,当我尝试执行以下操作时,我按照指示设置了电子邮件服务器:怪异的Django TypeError:send_mail()至少接受4个参数(给定4个),django,mail-server,Django,Mail Server,我正在尝试使用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" mess
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
send_mail(subject=subject, message=message, recipients=recipients, fail_silently=False)
我得到以下错误:
TypeError: send_mail() takes at least 4 arguments (4 given)
我甚至尝试过以下方法:
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
send_mail(subject=subject, message=message, recipients=recipients, fail_silently=False)
此外,我还定义了EMAIL\u HOST\u USER。我目前正在使用EMAIL\u HOST='mailtrap.io'。根据:
您缺少电子邮件中的参数
设置它,或者传递None
——在这种情况下,Django将使用设置值:
send_mail(subject, message, None, recipients, fail_silently=False)
主题、邮件、发件人、电子邮件和收件人均为必填项。我看你没有提供from_电子邮件。您可以参考以了解更多信息。我认为,如果您在您的设置中定义了电子邮件主机用户,它将默认为from_EMAIL?@ngoctranfire No,from_EMAIL
应该传入<除非提供,否则代码>电子邮件\u主机\u用户
将用作身份验证用户
参数值。@ngoctranfire也可以看到。哇,谢谢!但是,它起作用了,我似乎收到了另一个错误,上面写着:SMTPAuthenticationError:(534,'5.7.14…等等…),上面有一个指向我的gmail的链接,但这非常奇怪,因为我所有的电子邮件(从_email,甚至是收件人列表)都没有与之相关的gmail信息。@ngoctranfire btw,您还可以通过电子邮件设置DEFAULT\u,如果您在FROM\u EMAIL
中通过None
,则将使用该设置。我已经更新了答案并将其包括在内。