发送邮件¶
虽然 Python 借助 smtplib
模块简化了发送邮件的流程,但是 Django 在其基础上提供了更简化的支持。这些封装意在加快邮件发送,方便在开发时测试发送邮件,在不支持 SMTP 的平台上支持发送邮件。
官网:https://docs.djangoproject.com/zh-hans/2.2/topics/email/
这些代码位于 django.core.mail
模块。
快速上手
仅需两行代码:
from django.core.mail import send_mail
send_mail(
'Subject here',
'Here is the message.',
'from@example.com',
['to@example.com'],
fail_silently=False,
)
邮件是通过 SMTP 主机和端口发送的,由配置项 EMAIL_HOST
和 EMAIL_PORT
指定。如果配置了 EMAIL_HOST_USER
和 EMAIL_HOST_PASSWORD
,那么它们将被用来验证 SMTP 服务器。配置项 EMAIL_USE_TLS
和 EMAIL_USE_SSL
控制是否使用安全连接。
注解
通过 django.core.mail
发送的邮件的字符编码由 DEFAULT_CHARSET
设置项指定。
from django.core.mail import send_mail
send_mail('DevOPS Mail', 'Here is the message', 'test@163.com',['admin@163.com'], fail_silently=False)