python实现邮件的发送

一、163邮箱设置

进入163邮箱,点击设置中的pop3/smtp/imap

开启smtp服务,如果没有开启,点击设置,手机号验证后勾选开启即可,开启后图如下:

主要用到的就是smtp服务器:smtp.163.com

然后设置客户端授权密码:

记住密码,如果不记得密码在这重新授权。手机号验证即可重新授权。这个密码一会写代码的时候要用

设置成功后,开始写代码

二、代码实现

 1 # --*-- coding:utf-8 --*--
 2 
 3 # 导入所需要的库
 4 import smtplib #这个库用于发送邮件
 5 from email.mime.text import MIMEText #用于写邮件主题、内容等
 6 
 7 
 8 # 第一步:设置登陆邮箱数据
 9 # smtp服务器
10 smtp_server = 'smtp.163.com' # 刚才在163邮箱中设置后出现的内容
11 # 设置邮箱地址,自己的邮箱,发送者
12 sender = 'SunshineWuya@163.com'
13 # 邮箱密码,163邮箱设置中的客户端授权密码
14 pwd = 'xxxxxxx'
15 
16 
17 # 第二步:设置发送的内容
18 # 发送内容text
19 text = 'python自动发送邮件'
20 # 将发送的内容转化为邮件的文本内容
21 txt = MIMEText(text)
22 # 设置邮件主题
23 txt['Subject'] = 'test send email'
24 # 设置邮件发送者
25 txt['From'] = sender
26 
27 
28 # 第三步:发送邮件
29 # 创建SMTP服务器
30 mail_server = smtplib.SMTP(smtp_server,25)
31 # 登陆服务器
32 mail_server.login(sender,pwd)
33 # 发送邮件
34 mail_server.sendmail(sender,['SunshineWuya@163.com'],txt.as_string())
35 # 第一个参数为发送者,第二个参数为接收者,可以添加多个例如:['SunshineWuya@163.com','xxx@qq.com',]
36 # 第三个参数为发送的内容
37 
38 
39 # 第四步:退出登陆
40 mail_server.quit()

三、查看结果

在收件箱中查看结果:

 

查看邮件的内容:

 

四、将收件人的邮箱地址换成发送者的地址,报554错误

   出现554的错误有很多,笔者是收件人To和发件人From没有成对出现造成的,具体问题具体分析,更多解决方法可以百度

  解决方法:

  将收件人地址添加在To中,再次发送

  

posted @ 2018-04-09 13:05  Tynam.Yang  阅读(584)  评论(0编辑  收藏  举报