Django简单粗暴快速发送邮件!

》》尽管Python已经提供了相对易用的邮件发送模块 smtplib ,但Django仍对其做了轻度的封装。封装后的模块不仅发送邮件速度快,而且在开发环境下也很容易对邮件发送进行测试, 并对无法使用SMTP的平台也提供了支持。

》》首先获取邮箱授权码(我使用的qq邮箱)

  1. 邮箱设置--->账户

  2. 找到---POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 开启第一个

  3. 生成授权码

  4. 在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

  5. view.py导包   

    from django.core.mail import send_mail

     

  6. 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 ,就会忽略邮件发送时抛出的异常。

 

原文地址:https://www.cnblogs.com/Wang-jialu/p/10749001.html