Sending email发送电子邮件
虽然Python通过smtplib
模块发送电子邮件相对容易,但Django在其上提供了几个光封装。 提供这些包装器可以使发送电子邮件更加快速,以便在开发期间测试电子邮件发送,并为不能使用SMTP
的平台提供支持。
代码位于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,
)
使用EMAIL_HOST
和EMAIL_PORT
设置中指定的SMTP
主机和端口发送邮件。 EMAIL_HOST_USER
和EMAIL_HOST_PASSWORD
设置(如果设置)用于向SMTP
服务器进行身份验证,并且EMAIL_USE_TLS
和EMAIL_USE_SSL
设置控制是否使用安全连接。
send_mail()
send_mail(subject, message, from_email, recipient_list, fail_silently=False, auth_user=None, auth_password=None, connection=None, html_message=None)[source]
发送电子邮件的最简单方法是使用django.core.mail.send_mail()
。
主题,消息,from_email
和recipient_list
参数是必需的。
subject
:一个字符串。message
:一个字符串。from_email
:一个字符串。recipient_list
:字符串列表,每个都是一个电子邮件地址。recipient_list
的每个成员将在电子邮件的“To:”字段中看到其他收件人。fail_silently
:一个布尔值。如果是False
,send_mail
将会引发一个smtplib.SMTPException
。有关可能的异常列表,请参阅smtplib文档,所有这些异常都是SMTPException的子类。auth_user
:用于向SMTP
服务器进行身份验证的可选用户名。如果没有提供,Django将使用EMAIL_HOST_USER
设置的值。auth_password
:用于向SMTP
服务器进行身份验证的可选密码。如果没有提供,Django将使用EMAIL_HOST_PASSWORD
设置的值。connection
:用于发送邮件的可选邮件后端。如果未指定,将使用默认后端的实例。有关详细信息,请参阅电子邮件后端的文档。html_message
:如果提供了html_message
,则生成的电子邮件将是一个多部分/备用电子邮件,其中包含消息作为text
内容类型,
/ plainhtml_message
作为text / html
内容类型。
返回值将是成功传递的消息的数量(可以为0或1,因为它只能发送一个消息)。