ANSHENG'S BLOG
在Django应用程序中发送电子邮件
# django# pythonpublishDate · 2017-05-16 / lastEditedTime · 2022-04-06 04:50:00

在Django应用程序中发送电子邮件最常见的用例是密码重置、帐户激活和发送与您的应用程序相关的一般通知。

配置Django发送电子邮件

要配置您的Django应用程序,添加下面的参数到你settings.py

# 主机 EMAIL_HOST = "smtp.sina.com" # 端口 EMAIL_PORT = 25 # 发件人邮箱 EMAIL_HOST_USER = "anshengme@sina.com" # 密码 EMAIL_HOST_PASSWORD = "ansheng.me" # 是否使用https EMAIL_USE_TLS = False # 发件人 EMAIL_FROM = "安生"

发送邮件

先看看send_mail()方法提供了那些参数:

然后我们进入带django shell环境变量的python解释器,然后发送一个邮件试试?

$ python3 manage.py shell In [1]: from django.core.mail import send_mail In [2]: send_mail("这是邮件标题", "这是邮件主体", 'anshengme@sina.com', ['xxx@gmail.com']) # 返回值将是成功传递的消息的数量(可以是0或1,因为它只能发送一个消息) Out[2]: 1

打开接收邮件的邮箱看看是否已经接收到邮件了?

同时发送多封电子邮件

send_mass_mail()所提供的参数值

小栗子

In [1]: message1 = ("这是第一封邮件标题", "这是第一封邮件主体", 'anshengme@sina.com', ['xxx@gmail.com']) In [2]: message2 = ("这是第二封邮件标题", "这是第二封邮件主体", 'anshengme@sina.com', ['xxx@gmail.com']) In [3]: from django.core.mail import send_mass_mail In [4]: send_mass_mail((message1,message2),fail_silently=False) Out[4]: 2

返回值将是已成功发送邮件的消息数。