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

相关推荐

  • 索尼ps5什么时候能破解(内置外挂索尼ps5最新消息曝光)

    不久前,索尼SIE正式对外发布公告,宣布将停止在俄罗斯地区销售包括PS主机在内的索尼硬件,以及游戏软件。此消息对于游戏圈来说相当震撼,此前已有多家游戏厂商停止在俄罗斯的业务,截至目…

    2023年 9月 16日
  • qq安全中心改密码方法(qq安全中心怎么改密码)

    qq已经成为日常生活中必不可少的交流工具之一了。因此,qq安全也越来越受到用户重视。由于密码过于简单或是长期不修改密码,可能会被不法分子盗取qq密码。今天就来跟大家介绍下如何利用q…

    2023年 3月 16日
  • 微信转盘抽奖活动怎么弄的

    [闽南网] 现在微信公众号运营是比较难的,因为运营方式不多,所以大部分的企业商家只能采取微信抽奖活动,利用丰富的奖品来吸引粉丝。微信抽奖活动形式也很多,例如砸金蛋、摇一摇、大转盘等…

    2023年 9月 23日
  • 怎么使用ps钢笔工具抠图(ps钢笔工具抠图老是弯曲)

    抠图方式有很多种,使用时要根据不同的需要进行选择,钢笔工具在抠图中有着重要的作用,下面通过抠出圣诞老师,向大家讲解下如何使用钢笔工具进行抠图。 首先我们打开要操作的图片。 使用钢笔…

    2023年 6月 14日
  • 网络工程中网线如何接面板(网络布线中线管使用方法)

    在工程布线中,网线布线接水晶头是对网络传输信号中起到一个很重要的步骤,如果水晶头接得不好,网络传输效果会非常差,绝大可能会不通。 网络接水晶头的线序是按照国标标准接法来接,制作网线…

    2023年 6月 25日
  • 手机卸载app后残留垃圾文件清理

    我们的手机,在使用较长一段时间之后,很可能会出现空间不足,导致运行卡顿的问题。 那么,在发现手机内存不是很够用的情况下,你会怎么做? 这时候,如果你没有打算换新手机。 如无意外,就…

    2023年 7月 28日
  • 拼多多上货助手有免费的吗

    拼多多购物社交是当下广大用户热议的新热潮,也是目前最新的网购模式,实现了真正的团购优惠,为用户省钱,在拼多多开店的商家也是数不胜数。虽然开店的商家是非常的多,但很多商家在拼多多店铺…

    互联网 2023年 6月 28日
  • 手机和电脑互传文件为啥这么麻烦

    如今的智能手机与电脑都已经非常普及,在使用手机或者电脑的时候我们经常会遇到手机和电脑之间、手机与手机之间互传文件的情况。一般情况,大多数人都会使用微信或者QQ来传输文件。虽然它们能…

    2023年 1月 6日
  • 微信可以定时发送消息了!别说你还不知道!

    你是否有掐点给朋友送生日祝福的需要?你是否有掐点给父母送新年祝福的需要?你是否有掐点提醒领导的未办事务的需要?有时候忙起来会忘记,如果微信也能定时发送该多好?其实微信是可以定时发送…

    2023年 5月 22日
  • 美团打车司机取消订单有什么影响

    网约车内参讯(文/唐梓钦)10月26日,有美团打车司机向《网约车内参》反映,10月30日起,美团对于司机有责取消管控规则进行升级。对于多次取消的司机,平台暂停服务1-7天,多次违规…

    2022年 12月 25日