准备工作:

  1. 准备一个用于发送邮件的邮箱,比如网易163邮箱;
  2. 登录邮箱网页版,开通POP3/SMTP/IMAP功能;如下图:
  3. 点击上图的新增授权码,这里需要发送验证短信,按照提示一步一步操作即可;如果之前添加过授权码,并且还记得的话,这一步可以忽略;
  4. 复制下面的SMTP服务器,即:smtp.163.com

代码里面使用:

# 在settings.py中添加配置参数:# 用于发送邮件的邮箱
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True  # 是否使用TLS安全传输协议(用于在两个通信应用程序之间提供保密性和数据完整性)
EMAIL_USE_SSL = False  # 是否使用SSL加密,qq企业邮箱要求使用,163邮箱设置为True的时候会报ssl的错误
EMAIL_HOST = 'smtp.163.com'  # 发送邮件的邮箱的SMTP服务器,这里用的是163邮箱
EMAIL_PORT = 25  # 发件箱的SMTP服务器端口,默认是25
EMAIL_HOST_USER = 'test@163.com'  # 发送邮件的邮箱地址
EMAIL_HOST_PASSWORD = '准备工作获取的授权码'  # 发送邮件的邮箱密码(这里使用的是授权码)

测试发送邮件代码:

可以放在视图或者utils.py等位置,也可以封装成工具用于多处调用;

from django.core.mail import send_mailprint("开始发送邮件...")
send_mail('邮件主题', '邮件内容', '测试邮箱<test@163.com>',['test@domain.com', 'test2@domain.com'],  # 这里可以同时发给多个收件人fail_silently=False)  print("发送邮件成功!")

接收到的邮件效果:

可能会遇到的错误:

错误一:

  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/smtplib.py", line 730, in loginraise last_exceptionFile "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/smtplib.py", line 721, in logininitial_response_ok=initial_response_ok)File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/smtplib.py", line 642, in authraise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (535, b'Error: authentication failed')

可能原因:EMAIL_HOST_USER配置的用户和授权码不匹配,认证失败;
解决方案:确认邮箱和授权码是否匹配;

错误二:

  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 817, in __init__self.do_handshake()File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 1077, in do_handshakeself._sslobj.do_handshake()File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 689, in do_handshakeself._sslobj.do_handshake()
ssl.SSLError: [SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:852)

可能原因:settings.py中配置的参数"EMAIL_USE_SSL"设置为True但是邮箱服务器不支持导致;
解决方案:将settings.py中配置的参数"EMAIL_USE_SSL"设置为False;

错误三:
内网图片无法显示:

解决方案:将图片转为base64格式,放在img标签的src属性中,如:

html = """<h1>测试Base64图片</h1><img src="https://img-blog.csdnimg.cn/2022010617154989663.png" alt="base64图片" />
"""send_mail('邮件主题', '邮件内容', '测试邮箱<test@163.com>',['test@domain.com'], fail_silently=False, html_message=html)

Django中使用163邮箱发送邮件相关推荐

  1. legend3---lavarel中使用qq邮箱发送邮件

    legend3---lavarel中使用qq邮箱发送邮件 一.总结 一句话总结: 第一步:配置邮箱做服务器,比如qq邮箱,网易163邮箱 第二步:配置lavarel的配置文件 第三部:写邮件发送代码就 ...

  2. thinkPHP3.2.3使用163邮箱发送邮件

    thinkPHP3.2.3使用163邮箱发送邮件 (一)  前言 第一次写博客,主要就是为了分享一下自己敲代码的一些心得并整理一下自己的知识以便以后查看. 我原来一直在找通过thinkPHP使用QQ邮 ...

  3. java模拟网易邮箱登录_java实现163邮箱发送邮件到qq邮箱成功案例

    下载和上传附件.发送短信和发送邮件,都算是程序中很常用的功能,之前记录了文件的上传和下载还有发送短信,由于最近比较忙,邮件发送的功能就没有时间去弄,现在终于成功以163邮箱发送邮件到qq邮箱,以下是相 ...

  4. 利用163 邮箱发送邮件

    1.利用163邮箱发送邮件 # _*_ coding:UTF-8 import time import smtplib from email.mime.text import MIMEText fro ...

  5. python 发送邮件 163_python练习-使用163邮箱发送邮件

    具体代码如下> #密码等敏感信息已经用****替换 import smtplib,sys from email.mime.text import MIMEText from email.head ...

  6. Outlook 中设置163 邮箱出现“目标主要名称不正确”

    参考:Outlook添加网易企业邮箱总是无法验证您连接到的服务器使用的安全证书_xinlan3618的博客-CSDN博客_outlook无法验证您连接到的服务器使用的安全证书 问题描述 在 windo ...

  7. java 给qq邮箱发邮件_java实现163邮箱发送邮件到qq邮箱成功案例

    这篇文章主要为大家分享了java实现163邮箱发送邮件到qq邮箱成功案例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 下载和上传附件.发送短信和发送邮件,都算是程序中 ...

  8. 163邮箱java通用下载_java_java实现163邮箱发送邮件到qq邮箱成功案例,下载和上传附件、发送短信和 - phpStudy...

    java实现163邮箱发送邮件到qq邮箱成功案例 下载和上传附件.发送短信和发送邮件,都算是程序中很常用的功能,之前记录了文件的上传和下载还有发送短信,由于最近比较忙,邮件发送的功能就没有时间去弄,现 ...

  9. Hutool - 结合163邮箱发送邮件

    使用Hutool结合163邮箱发送邮件 进入163设置邮箱POP3/SMTP/IMAP 引入Hutool依赖 地址:https://www.hutool.cn/docs/#/extra/%E9%82% ...

  10. QT5 使用163邮箱发送邮件

    最近在用QT写一点东西,想发送个邮件.查了一些资料,发现没有官方的库,好多前辈都是推荐使用sendemailapi,但是这个网站现在已经不提供下载了,在网上也没有找到可以免费下载的这个库的地方. 借鉴 ...

最新文章

  1. 操作系统学习:Linux0.12初始化详细流程-打开文件与加载可执行程序
  2. 微信小程序 详解 小程序支付
  3. Java一些基础知识的整合
  4. React Native Fetch封装那点事...
  5. 计算机毕业设计中java多线程与异常处理
  6. 记一个linux内核内存提权问题
  7. 超强1000个jquery极品插件!
  8. VSCODE+MINGW配置vulkan开发环境
  9. 【从零开始学架构-李运华】10|架构设计流程:识别复杂度
  10. 存储器容量大小和芯片选择
  11. 2022年电工(技师)考试报名及电工(技师)复审考试
  12. android+6+wifi密码,Android 如何查看Wifi密码
  13. 网页提示504 gateway time-out是什么意思?如何解决?
  14. 马斯克在 Clubhouse 上「开房」,讲创业、公司进展,还当了回记者
  15. 奥迪Q5更换初装变速箱油教程
  16. VSCode PlatformIO IDE 下开发ESP32遇到的问题
  17. oracle会计软件技巧,财务软件输入凭证的五大技巧,太实用了!
  18. Centos8 安装 MySQL8.0.26
  19. 怎么用手机压缩图片?教给大家三种手机压缩图片方法
  20. 网络空间安全导论期末复习题

热门文章

  1. matlab绘图空间曲线,matlab空间曲线绘图
  2. 计算机课程综合实训自我鉴定,计算机教学实习的自我鉴定范文
  3. Unable to read entire header,0 bytes read;expected 512 bytes
  4. joomla新建模板_WordPress v Joomla:模板和主题
  5. Panel面板和三种布局管理器
  6. 中国十大B2C电商站点开发语言调查
  7. c++语言常量,C++常量(constant)
  8. 【题解】Luogu P3110 [USACO14DEC]驮运Piggy Back
  9. 计算机文件夹加密码怎么设置,如何为文件夹设置密码,教您如何设置
  10. 彻底理解connection timeout