Django 收到错误:send_mail() 在发送邮件时收到了意外的关键字参数“fail_silently”

Posted

技术标签:

【中文标题】Django 收到错误:send_mail() 在发送邮件时收到了意外的关键字参数“fail_silently”【英文标题】:Django getting error :send_mail() got an unexpected keyword argument 'fail_silently' on sending mails 【发布时间】:2018-12-05 14:05:50 【问题描述】:

我是 django 新手,正在尝试使用 django 电子邮件。我在 settings.py 中为邮件提供了以下设置:

EMAIL_USE_TLS = True
EMAIL_HOST='smtp.gmail.com'
EMAIL_HOST_USER='ant@a.com'
EMAIL_HOST_PASSWORD='******'
EMAIL_PORT = 587 

我在views.py 中定义了一个视图,如下所示:

def testemail(request) :
    subject="test email"
    message="hello sid"
    reply_to_list=['abc@gmail.com','def@gmail.com']

    send_mail(subject,message,'ant@a.com',reply_to_list,fail_silently=True)

我已在url.py 中将此视图注册为:

url(r'^testemail/',email_views.testemail,name="testemail")

但点击网址后,我收到以下错误:

send_mail() got an unexpected keyword argument 'fail_silently'

知道为什么会出现此错误吗?

【问题讨论】:

你从哪里导入send_mail?该错误表明您正在调用的函数不需要fail_silently 参数,因此您导入了错误的send_mail,或者您没有正确阅读您正在使用的send_mail 的文档。你的电子邮件后端是什么? 【参考方案1】:
from django.core.mail import EmailMessage

def testemail(request):
  subject="test email"
  message="hello sid"
  reply_to_list=['abc@gmail.com','def@gmail.com']

  email = EmailMessage(subject,message,'ant@a.com',reply_to_list)
  email.send(fail_silently=True)

【讨论】:

请添加更多详细信息以扩展您的答案,例如工作代码或文档引用。【参考方案2】:

您必须验证您的函数名称是否也是 send_mail,因为它确实与发送邮件的 send_mail 调用冲突。

所以重命名你的函数而不是 send_mail。

【讨论】:

这不是正确答案他的函数是testemail

以上是关于Django 收到错误:send_mail() 在发送邮件时收到了意外的关键字参数“fail_silently”的主要内容,如果未能解决你的问题,请参考以下文章

django-28.发送邮件send_mail

Django中的Send_mail,在shell中工作,在本地工作,不在视图中

Django,send_mail,没有足够的值来解包

来自 EC2 的 Django send_mail() 通过 Gmail 提供 SMTPAuthenticationError - 但在 localhost 中工作正常

Django 发送 Gmail using.core.mail import send_mail: ConnectionRefusedError: No connection could be mad

python测试开发django-28.发送邮件