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,因为它只能发送一个消息)。










