[英]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_admins
和mail_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.