》》尽管Python已经提供了相对易用的邮件发送模块 smtplib ,但Django仍对其做了轻度的封装。封装后的模块不仅发送邮件速度快,而且在开发环境下也很容易对邮件发送进行测试, 并对无法使用SMTP的平台也提供了支持。
》》首先获取邮箱授权码(我使用的qq邮箱)
-
邮箱设置--->账户
-
找到---POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 开启第一个
-
生成授权码
-
在django应用程序中 settings.py中设置
EMAIL_USE_SSL = True
EMAIL_HOST = 'smtp.qq.com' # 如果是 163 改成 smtp.163.com
EMAIL_PORT = 465
EMAIL_HOST_USER = '395945836@qq.com' # 帐号
EMAIL_HOST_PASSWORD = 'jffbcdknmbzvbega' # 密码
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
-
view.py导包
from django.core.mail import send_mail
-
def封装 发送邮件代码执行
send_mail('主题',"内容",'发送账号',['接收账号'], fail_silently=False)
Django发邮件功能要用到配置文件中的 EMAIL_HOST 和 EMAIL_PORT 配置项,分别用来指定发邮件服务器和端口。 如果SMTP服务器需要用户认证,还须设置 EMAIL_HOST_USER 和 EMAIL_HOST_PASSWORD 配置项,指定用户名和密码。 而 EMAIL_USE_TLS 配置项则决定是否使用安全加密链接。
send(fail_silently=False) 发送邮件报文。如果在构造邮件时如果指定了某个链接(connection),就会使用该链接发邮件。 否则,就会使用默认后端的实例发邮件。如果关键字参数 fail_silently 为 True ,就会忽略邮件发送时抛出的异常。