Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在django视图中发送邮件会导致NameError_Python_Django_Django Views_Sendmail - Fatal编程技术网

Python 在django视图中发送邮件会导致NameError

Python 在django视图中发送邮件会导致NameError,python,django,django-views,sendmail,Python,Django,Django Views,Sendmail,试图在django视图内发送邮件 from django.core.mail import send_mail # Snippet inside a view for ml in mls: try: l = Letter.objects.get(pk = ml.message_key) except Exception as e: mail_txt = _("sending mail failed " + str(e) + " " + str(

试图在django视图内发送邮件

from django.core.mail import send_mail

# Snippet inside a view
for ml in mls:
    try:
        l = Letter.objects.get(pk = ml.message_key)
    except Exception as e:
        mail_txt = _("sending mail failed " + str(e) + " " +  str(ml.activity_org) + " " + str(ml.scheduled_time))
        send_mail(mail_txt, "sending mail", "user@domain.com", ["sender@domain.com"], fail_silently=False)
错误

NameError: global name 'send_mail' is not defined

我建议您使用
EmailMultiAlternations
。我使用这个,很容易配置和使用。 例如:

将其添加到Settings.py

EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'yourmail@gmail.com'
EMAIL_HOST_PASSWORD = 'yourpass'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
如果使用不同的邮件服务器,请更改显示的数据


功能示例

from django.core.mail import EmailMultiAlternatives
title = 'Test Email'
message_text = 'Test email message'
#email_to has to be a list, even if you're sending mail only to 1 address
mail = EmailMultiAlternatives(title, message_text, 'from@email.com', ['email_to1'])
mail.send()
您可以附加文件或html代码。。。更多信息请访问


希望有帮助

请提供完整的回溯。您没有正确导入发送电子邮件。您是否在
视图.py中导入它?您使用的是什么版本的django?很抱歉,在另一个文件中没有定义“发送邮件”这一问题。