python使用smtp上传邮件 , 使用pop3下载邮件 。由于上传后立刻下载了,所以有时不会再在网页邮箱中有通知 。
可设置邮件的收发人 , 主题,内容 。并以163邮件为例,使用smtp发送了一个普通文本邮件,使用pop3协议读取了邮件列表,并下载了第一个邮件,并进行了解析,分别在python2.7和python3.6下进行试验 。
python2.7下代码
#coding:utf-8
from smtplib import SMTP
from poplib import POP3
from time import sleep
print(“=====================SMTP发邮件和POP3收邮件=====================”);
SMTPSVR = ‘smtp.163.com’ #smtp服务器地址
POP3SVR = ‘pop.163.com’ #pop3服务器地址
SENDER=”aaaaaaa@163.com” #用户名 , 换成自己的
PASSWORD=”aaaaaaa” #密码 , 换成自己的
RECIPS=[“aaaaaaa@163.com”] #这里接收人也设置为自己
origmsg = ”’
From: %(who)s
To: %(who)s
Subject: first test
Hello World!
”’ % {‘who’: SENDER}
#使用SMTP完成邮件的发送
sendSvr = SMTP(SMTPSVR) #创建一个smtp发送对象
sendSvr.login(SENDER, PASSWORD) # 登录操作
errs = sendSvr.sendmail(SENDER,RECIPS,origmsg) #参数:发件人,收件人,邮件整体(消息头和消息体的字符串表示)
sendSvr.quit()
assert len(errs) == 0, errs #,assert返回为假就会触发异常
print(“smtp发送邮件完成”)
sleep(10) # 睡眠10秒钟,等待邮件被投递,让服务器完成消息的发送和接收 。sleep单位秒
#使用pop3完成邮件的获取
recvSvr = POP3(POP3SVR) #创建一个pop3接收对象
recvSvr.user(SENDER) #设置用户名
recvSvr.pass_(PASSWORD) #设置密码
emailist = recvSvr.stat() #获取邮件列表
rsp, msg, siz = recvSvr.retr(emailist[0]) #下载第一个邮件
sep = msg.index(”) #邮件头和邮件正文使用空白行进行分割 , 这里定位空白行的位置.是不是应该是定位n
recvBody = msg[sep+1:] #根据空白行获取邮件正文
print(recvBody)
print(“pop3接收邮件完成”)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
python3.6下代码如下
#coding:utf-8
from smtplib import SMTP
from poplib import POP3
from time import sleep
print(“=====================SMTP发邮件和POP3收邮件=====================”);
SMTPSVR = ‘smtp.163.com’ #smtp服务器地址
POP3SVR = ‘pop.163.com’ #pop3服务器地址
SENDER=”aaaaaaa@163.com” #用户名 , 换成自己的
PASSWORD=”aaaaaaa” #密码,换成自己的
RECIPS=[“aaaaaaa@163.com”] #这里接收人也设置为自己
origmsg = ”’
From: %(who)s
To: %(who)s
Subject: first test
Hello World!
”’ % {‘who’: SENDER}
#使用SMTP完成邮件的发送
sendSvr = SMTP(SMTPSVR) #创建一个smtp发送对象
sendSvr.login(SENDER, PASSWORD) # 登录操作
errs = sendSvr.sendmail(SENDER,RECIPS,origmsg) #参数:发件人 , 收件人,邮件整体(消息头和消息体的字符串表示)
sendSvr.quit()
assert len(errs) == 0, errs #,assert返回为假就会触发异常
print(“smtp发送邮件完成”)
sleep(10) # 睡眠10秒钟 , 等待邮件被投递,让服务器完成消息的发送和接收 。sleep单位秒
#使用pop3完成邮件的获取
recvSvr = POP3(POP3SVR) #创建一个pop3接收对象
recvSvr.user(SENDER) #设置用户名
recvSvr.pass_(PASSWORD) #设置密码
emailist = recvSvr.stat() #获取邮件列表
rsp, msg, siz = recvSvr.retr(emailist[0]) #下载第一个邮件
print(msg)
#sep = msg.index(”) #查找列表中””空白元素,空白元素后面为邮件正文
#recvBody = msg[sep+1:] #根据空白元素定位获取邮件正文
print(“pop3接收邮件完成”)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
gmail(google.com)
POP3服务器地址:pop.gmail.com(SSL启用 端口:995)
SMTP服务器地址:smtp.gmail.com(SSL启用 端口:587)
21cn.com:
POP3服务器地址:pop.21cn.com(端口:110)
SMTP服务器地址:smtp.21cn.com(端口:25)
sina.com:
POP3服务器地址:pop3.sina.com.cn(端口:110)
SMTP服务器地址:smtp.sina.com.cn(端口:25)
tom.com:
POP3服务器地址:pop.tom.com(端口:110)
SMTP服务器地址:smtp.tom.com(端口:25)
163.com:
POP3服务器地址:pop.163.com(端口:110)
SMTP服务器地址:smtp.163.com(端口:25)
263.net:
POP3服务器地址:pop3.263.net(端口:110)
SMTP服务器地址:smtp.263.net(端口:25)
yahoo.com:
POP3服务器地址:pop.mail.yahoo.com
SMTP服务器地址:smtp.mail.yahoo.com
263.net.cn:
POP3服务器地址:pop.263.net.cn(端口:110)
SMTP服务器地址:smtp.263.net.cn(端口:25)
Foxmail:
POP3服务器地址:POP.foxmail.com(端口:110)
SMTP服务器地址:SMTP.foxmail.com(端口:25)
sinaVIP
POP3服务器:pop3.vip.sina.com (端口:110)
SMTP服务器:smtp.vip.sina.com (端口:25)
sohu.com:
POP3服务器地址:pop3.sohu.com(端口:110)
SMTP服务器地址:smtp.sohu.com(端口:25)
etang.com:
POP3服务器地址:pop.etang.com
SMTP服务器地址:smtp.etang.com
x263.net:
POP3服务器地址:pop.x263.net(端口:110)
SMTP服务器地址:smtp.x263.net(端口:25)
yahoo.com.cn:
POP3服务器地址:pop.mail.yahoo.com.cn(端口:995)
SMTP服务器地址:smtp.mail.yahoo.com.cn(端口:587)
雅虎邮箱POP3的SSL不启用端口为110,POP3的SSL启用端口995;SMTP的SSL不启用端口为25,SMTP的SSL启用端口为465
QQ邮箱 QQ企业邮箱
POP3服务器地址:pop.qq.com(端口:110) POP3服务器地址:pop.exmail.qq.com (SSL启用 端口:995)
SMTP服务器地址:smtp.qq.com (端口:25) SMTP服务器地址:smtp.exmail.qq.com(SSL启用 端口:587/465)
SMTP服务器需要身份验证
126邮箱 HotMail
POP3服务器地址:pop.126.com(端口:110) POP3服务器地址:pop.live.com (端口:995)
SMTP服务器地址:smtp.126.com(端口:25) SMTP服务器地址:smtp.live.com (端口:587)
china.com: 139邮箱
POP3服务器地址:pop.china.com(端口:110) POP3服务器地址:POP.139.com(端口:110)
SMTP服务器地址:smtp.china.com(端口:25) SMTP服务器地址:SMTP.139.com(端口:25)
【pythonsmtp发送邮件方法】

文章插图
- 牡丹吊兰有毒吗,心叶日中花有毒吗
- 冰块怎么做不容易化,怎样让冰块保持不融化
- 抖音怎么制作手动翻照片,抖音图集怎么搞成自己翻?
- 中筋粉和高筋粉的区别有哪些,高筋面粉和中筋面粉的区别
- 锂保存在哪里,锂单质存放在哪?
- 老公生日送什么礼物,送老公生日礼物送什么比较有意义
- 炒蚬子用不用焯水,辣炒蚬子 是先煮一下呢 还是直接炒
- 雅泰角鲨烯胶囊的功效,角鲨烯软胶囊的功效与作用
- 海上交通与陆上交通相比,明显的优势有,陆上运输与海上运输的优势各是什么
- 中国五大名酒,中国五大名酒是什么?
