javamail发送html正文文件_自动发送邮件

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 17:36   1724   0

2e070e699656767a24c56f738c154eaf.png

实现的功能

  • 根据不同的人发送不同的附件
  • 直接读取html文件,正文中插入图片
  • GUI图形界面,选择附件、通讯录、图片

使用的库

  • smtplib库,主要用到SMTP()类,用来连接服务器,发送邮件
  • email库,用来编辑邮件内容,包括标题,发件人、接收人、正文等
  • PyQt5库,图形工具,主要是提供一个操作界面,用来选择附件、图片等

准备工作

SMTP中的密码不是指邮箱的登录密码,而是客户端的授权密码,需要先去邮箱里面开启SMTP服务,然后获取授权密码
  1. 163邮箱,先开启POP3/SMTP服务,然后设置授权密码

5bab7b3244fd8bf8050c882f3647f230.png

349127200f40f32ee04904f52d8bb7ed.png

2. QQ邮箱也是一样,在设置中找到开启SMTP服务,然后设置密码

266c7204fd66992abab0d03bc075cacf.png

运行界面

  • GUI界面

d614e7438b56a8d20a95f221b990eea9.png
  • 运行结果

e34b2c05e4281e5f4d77b3a6f2eacbf5.png
  • 收到的邮件内容

(1) QQ邮箱

a0d6d05186e6354cc971e3e2374e79a3.png

(2) 163邮箱

68cb9af2d7458336850c104136f6662b.png

下载链接

源代码、附件、html文件、通讯录等上传到了github,需要的话可以直接下载。

songrenqing/SendMailgithub.com
a449884ddbd353b542ffd3c166c911dd.png

可能遇到的异常

异常:554 b'DT:SPM 163 smtp10,DsCowADnLCYUXxleA5NlLg--.58715S3 1578721044

描述:这个问题是163邮箱发送到qq邮箱遇到的,QQ邮箱拒绝接受此邮件

解决办法:关掉电脑连接的wifi,手机使用移动网络,然后电脑连接手机的热点,再次发送即可。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP