基于 Django1.10 文档的深入学习(22)——Sending email 之 send_mail()

来源:互联网 发布:tensorflow电力 编辑:程序博客网 时间:2024/06/04 00:36

Sending email发送电子邮件

虽然Python通过smtplib模块发送电子邮件相对容易,但Django在其上提供了几个光封装。 提供这些包装器可以使发送电子邮件更加快速,以便在开发期间测试电子邮件发送,并为不能使用SMTP的平台提供支持。

代码位于django.core.mail模块中。

快速的例子

两行:

from django.core.mail import send_mailsend_mail(    'Subject here',    'Here is the message.',    'from@example.com',    ['to@example.com'],    fail_silently=False,)

使用EMAIL_HOSTEMAIL_PORT设置中指定的SMTP主机和端口发送邮件。 EMAIL_HOST_USEREMAIL_HOST_PASSWORD设置(如果设置)用于向SMTP服务器进行身份验证,并且EMAIL_USE_TLSEMAIL_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_emailrecipient_list参数是必需的。

  • subject:一个字符串。
  • message:一个字符串。
  • from_email:一个字符串。
  • recipient_list:字符串列表,每个都是一个电子邮件地址。 recipient_list的每个成员将在电子邮件的“To:”字段中看到其他收件人。
  • fail_silently:一个布尔值。如果是Falsesend_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
    / plain
    内容类型,html_message作为text / html内容类型。

返回值将是成功传递的消息的数量(可以为0或1,因为它只能发送一个消息)。

0 0
原创粉丝点击