django 配置邮件发送 send_email

导入

send_email 所用方法导入

from django.core.mail import send_mail

因为使用的需要指明 发送人 所以要把 setting.py 中的 EMAIL_FORM 也导进来

from MxOnline.settings import EMAIL_FROM

配置

在 setting 中需要设置以下字段用以指明相关属性

# 邮件发送配置
# EMAIL_HOST变量为smtp服务器
EMAIL_HOST = "smtp.163.com"
EMAIL_PORT = 25
EMAIL_HOST_USER = "xxxx.com"
EMAIL_HOST_PASSWORD = "xxxx"
EMAIL_USE_TLS = False
# 发件人, 与 EMAIL_HOST 保持一致
EMAIL_FROM = "xxxx.com"

使用

视图中使用 send_email 返回值为 布尔表示发送状态

        email_title = '羊驼之家在线网注册激活链接'
        email_body = "请点击下面的链接激活你的账号:http://127.0.0.1:8000/active/{0}".format(code)

        # 发送邮件
        send_status = send_mail(email_title, email_body, EMAIL_FROM, [email])

 其他报错

(535, b'Error: authentication failed')

 setting 中的  EMAIL_HOST_PASSWORD  要使用授权码. 不是你的邮箱密码.

授权码的申请各个邮箱设置中找

原文地址:https://www.cnblogs.com/shijieli/p/10541802.html