美文网首页django
Django-29 Django发送邮件

Django-29 Django发送邮件

作者: JuliusL | 来源:发表于2021-08-03 22:27 被阅读0次

    邮件相关协议 - SMTP

    • SMTP的全称是"Simple Mail Transfer Protocol",即简单邮件传输协议(25号端口)
    • 它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转
    • 属于“推送”协议

    邮件相关协议 - IMAP

    • IMAP全称是“Internet Mail Access Protocal”,即交互式邮件访问协议,是一个应用层协议(端口是143)。
    • 用来从本地邮件客户端(Outlook Express、Foxmail、Mozilla Thunderbird等)访问远程服务器上的邮件。
    • 属于拉取协议

    邮件相关协议 - POP3

    • POP3是Post Office
    • POP3是Post Office Protocol 3 的简称,即邮局协议的第3个版本,是TCP/IP协议中的一员(默认端口是110)
    • 本协议主要用于支持使用客户端远程管理在服务器上的电子邮件
    • 属于“拉取”协议

    IMAP VS POP3

    两者均为“拉取”型协议,负责从邮件服务器中下载邮件

    • IMAP具备摘要浏览功能,可预览部分摘要,再下载整个文件
    • IMAP为双向协议,客户端操作可反馈给服务器
    • POP3必须下载全部邮件,无摘要功能
    • POP3为单向协议,客户端操作无法同步服务器
    image.png

    用谁的邮箱,谁就会给你提供一个邮箱服务器,用QQ发邮件,QQ就会给你提供一个邮局,发送一个邮件,QQ就会用SMTP跟新浪服务器进行交互,把邮件同步给新浪的邮箱服务器

    Django发邮件

    • Django中配置邮件功能,主要为SMTP协议,负责发邮件
    • 原理:
      • 给Django授权一个邮箱
      • Django用该邮箱给对应收件人发送邮件
      • django.core.mail 封装了电子邮件的自动发送SMTP协议

    邮件相关配置

    EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
    EMAIL_HOST = 'smtp.qq.com' # 腾讯QQ邮箱 SMTP 服务器地址
    EMAIL_POST = 25 #SMTP服务的端口号
    EMAIL_HOST_USER = ‘xxxx@qq.com’ #发送邮件的QQ邮箱
    EMAIL_HOST_PASSWORD = ‘*******’ #在QQ邮箱->设置->账户->“POP3/IMAP...服务”里得到的在第三方登录QQ邮箱授权码
    EMAIL_USE_TLS = False #与SMTP服务器通信时,是否启动TLS链接(安全链接)默认False

    函数调用

    from django.core import mail
    mail.send_mail(
      subject,#标题
      message,#消息内容
      from_email,#发送者[当前配置邮箱]
      recipient_list=['xxx@qq.com'],#接受者邮件列表
    )
    

    应用:通过中间件实时抓取视图函数的异常发送到邮件

    相关文章

      网友评论

        本文标题:Django-29 Django发送邮件

        本文链接:https://www.haomeiwen.com/subject/pursvltx.html