导入
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 要使用授权码. 不是你的邮箱密码.
授权码的申请各个邮箱设置中找