pythonsmtp发送邮件方法

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下由于默认字符串为unicode,而邮件发送参数只接收str的字符串,所以再发送前先将字符串从unicode转化为str

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

本文只试验了163邮件,读者可以按下面的主机地址,试验其他邮箱。但并不是每种邮箱都能成功。

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)

python使用smtp上传邮件,使用pop3下载邮件

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:dandanxi6@qq.com

(0)
上一篇 2023年 7月 8日 下午2:16
下一篇 2023年 7月 8日 下午2:22

相关推荐

  • 小度智能音箱可以遥控房间空调,小度炫彩智能音箱控制空调

    小度小度 小度智能音箱,全新潮流外观,音质超乎想象。 品质声效·听觉享受。高保真扬声器,声音纯净自然专业声学结构设计,低音音效饱满强劲,可以热情激扬的倾诉,也能低沉轻柔的哄睡清音质…

    2023年 9月 12日
  • 母亲离家出走放弃孩子怎么办

    导语: 晚年之际,不被人重视是最大的悲哀。老年人们常感到被遗忘,犹如透明人,这种孤独令他们倍感苦闷。作为子女,关心老人的物质生活固然重要,但更应重视他们的心理需求。 66岁的杨大妈…

    2023年 9月 21日
  • 微信公众号和订阅号关系,餐饮公众号是订阅号还是服务号

    一、申请对象不同 服务号申请对象:企业、政府或其它组织类型; 订阅号申请对象:企业、组织、个人等都可以申请,个人只能申请订阅号。 适合做媒体。每天可以发消息,当成杂志看,被折叠了,…

    2023年 6月 21日
  • 美好生活精简短句(精简短句100句)

    太热了,想听你说些风凉话。 人间的面,见一面,少一面。 有生之年,边拥有,边清零。 也曾为你,像超人,像诗人。 爱我所爱,千夫所指我不改。 百口难辩,才懂得人言可畏。 你要善良,但…

    互联网 2023年 2月 26日
  • 淘宝卖家中心如何上传宝贝?物流模板怎么设置

    大家进入卖家中心,找到宝贝管理,再点击发布宝贝,就可以上传宝贝了。先取好宝贝标题,再选择对应的类目,和销售属性就行。注意,要编辑好详情页和物流模板,一切都就绪后就可以发布了。 若是…

    2023年 1月 4日
  • 微信显示对方正在输入消息没过来

    人们的社交生活已经离不开社交平台了,在国内社交领域当中有着不可撼动地位的,当属于微信。随着如今时代的发展,微信在很大程度上满足了用户的社交需求,人们在使用微信的时候,如果显示正在输…

    2023年 1月 27日
  • 蚂蚁森林全民义务植树尽责证书怎么申领

    2016年8月,蚂蚁金服对旗下支付宝平台的4.5亿用户全面上线个人碳账户“蚂蚁森林”。只要使用支付宝中的功能而节省的碳排放量,用户就会得到相应的虚拟能量,虚拟能量长到一定地步的时候…

    2023年 2月 5日
  • 微信怎么开企业店铺

    企业商家入局微信做营销已经是经营规划中必须做的一件事了,对于企业商家来说,最简单直接的方式就是开一个微信小店,然后通过自己宣传推广来在微信小店中成商品。那么企业商家在微信怎么开小店…

    2023年 9月 27日
  • 2021年抢票攻略(春运抢票全攻略最新捡漏)

    唉,每年的春运都是一场游子的硬仗,有钱的买机票,没钱的就要抢高铁、火车票。但是大家都知道,春运是一票难求啊,怎么样比较好抢到票呢?小编在此给广大群众提供一些抢票的技巧,仅供参考。 …

    2023年 7月 21日
  • 中国移动的宽带很卡怎么办,中国移动的宽带越用越卡怎么回事

    现在家里用移动宽带的是越来越多了,移动的宽带价钱便宜,也能满足日常所需,在这个网络越来越普遍的社会,老百姓们只需要一年花个两三百就能享受网络的便利,还是非常不错的。可是问题就来了,…

    互联网 2023年 11月 1日