繁体   English   中英

Django:设置电子邮件

[英]Django:Setting up email

我在'settings.py'文件中创建了以下条目

# Email setup
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'someone@someorg.com'
EMAIL_HOST_PASSWORD = 'thepassword'
EMAIL_PORT = 587

然后我在终端发出以下命令:

email = EmailMessage('Hello','Have you received this mail?',to=['someone@gmail.com'])

我得到1作为输出。

当我在'someone @ gmail.com'检查邮箱时,邮箱中没有邮件。我想念一些东西吗?

您应该使用EmailMessage调用设置from_email参数(作为kwarg或3rd arg)。 或者在settings.py中定义:

DEFAULT_FROM_EMAIL = 'some.mail@inter.net'

如果没有向EmailMessage提供from_email其视为默认值。

在半相关的说明中,在settings.py中定义SERVER_EMAIL可能是个好主意。 这个与Django的mail_adminsmail_managers使用。

你的所有设置都是正确和完整的,你最后错过了一件事。 您创建了一个邮件对象,现在email已准备好发送电子邮件对象,但您需要使用email.send()实际发送它。 有关更多信息和示例,请查看Django 文档 此外,您可以使用send_mail自动创建电子邮件对象并发送它。

from django.core.mail import send_mail

mail_title = 'Hello!'
message = 'Have you received this mail?'
email = 'admin@company.com'
recipients = 'someone@gmail.com'

send_mail(mail_title, message, email, [recipients])

根据以下链接https://docs.djangoproject.com/en/1.3/topics/email/ ,您应该将电子邮件放在括号中。 这意味着,它应该是这样的:

from django.core.mail.import send_mail

mail_title = 'Hello!'
message = 'Have you received this mail?'
email = admin@company.com
recipients = 'someone@gmail.com'

send_mail(mail_title, message, email, [recipients])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM