python使用smtp上傳郵件,使用pop3下載郵件。由于上傳后立刻下載了,所以有時不會再在網(wǎng)頁郵箱中有通知。

可設(shè)置郵件的收發(fā)人,主題,內(nèi)容。并以163郵件為例,使用smtp發(fā)送了一個普通文本郵件,使用pop3協(xié)議讀取了郵件列表,并下載了第一個郵件,并進行了解析,分別在和下進行試驗。

下代碼

#coding:utf-8

from smtplib import SMTP

from poplib import POP3

from time import sleep

print("=====================SMTP發(fā)郵件和POP3收郵件=====================");

SMTPSVR = '; #smtp服務器地址

POP3SVR = '; #pop3服務器地址

SENDER="aaaaaaa@163.com" #用戶名,換成自己的

PASSWORD="aaaaaaa" #密碼,換成自己的

RECIPS=["aaaaaaa@163.com"] #這里接收人也設(shè)置為自己

origmsg = '''\

From: %(who)s

To: %(who)s

Subject: first test

Hello World!

''' % {'who': SENDER}

#使用SMTP完成郵件的發(fā)送

sendSvr = SMTP(SMTPSVR) #創(chuàng)建一個smtp發(fā)送對象

(SENDER, PASSWORD) # 登錄操作

errs = (SENDER,RECIPS,origmsg) #參數(shù):發(fā)件人,收件人,郵件整體(消息頭和消息體的字符串表示)

()

assert len(errs) == 0, errs #,assert返回為假就會觸發(fā)異常

print("smtp發(fā)送郵件完成")

sleep(10) # 睡眠10秒鐘,等待郵件被投遞,讓服務器完成消息的發(fā)送和接收。sleep單位秒

#使用pop3完成郵件的獲取

recvSvr = POP3(POP3SVR) #創(chuàng)建一個pop3接收對象

recvSvr.user(SENDER) #設(shè)置用戶名

recvSvr.pass_(PASSWORD) #設(shè)置密碼

emailist = recvSvr.stat() #獲取郵件列表

rsp, msg, siz = recvSvr.retr(emailist[0]) #下載第一個郵件

sep = m('') #郵件頭和郵件正文使用空白行進行分割,這里定位空白行的位置.是不是應該是定位\n

recvBody = msg[sep+1:] #根據(jù)空白行獲取郵件正文

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

下由于默認字符串為unicode,而郵件發(fā)送參數(shù)只接收str的字符串,所以再發(fā)送前先將字符串從unicode轉(zhuǎn)化為str

下代碼如下

#coding:utf-8

from smtplib import SMTP

from poplib import POP3

from time import sleep

print("=====================SMTP發(fā)郵件和POP3收郵件=====================");

SMTPSVR = '; #smtp服務器地址

POP3SVR = '; #pop3服務器地址

SENDER="aaaaaaa@163.com" #用戶名,換成自己的

PASSWORD="aaaaaaa" #密碼,換成自己的

RECIPS=["aaaaaaa@163.com"] #這里接收人也設(shè)置為自己

origmsg = '''\

From: %(who)s

To: %(who)s

Subject: first test

Hello World!

''' % {'who': SENDER}

#使用SMTP完成郵件的發(fā)送

sendSvr = SMTP(SMTPSVR) #創(chuàng)建一個smtp發(fā)送對象

(SENDER, PASSWORD) # 登錄操作

errs = (SENDER,RECIPS,origmsg) #參數(shù):發(fā)件人,收件人,郵件整體(消息頭和消息體的字符串表示)

()

assert len(errs) == 0, errs #,assert返回為假就會觸發(fā)異常

print("smtp發(fā)送郵件完成")

sleep(10) # 睡眠10秒鐘,等待郵件被投遞,讓服務器完成消息的發(fā)送和接收。sleep單位秒

#使用pop3完成郵件的獲取

recvSvr = POP3(POP3SVR) #創(chuàng)建一個pop3接收對象

recvSvr.user(SENDER) #設(shè)置用戶名

recvSvr.pass_(PASSWORD) #設(shè)置密碼

emailist = recvSvr.stat() #獲取郵件列表

rsp, msg, siz = recvSvr.retr(emailist[0]) #下載第一個郵件

print(msg)

#sep = m('') #查找列表中""空白元素,空白元素后面為郵件正文

#recvBody = msg[sep+1:] #根據(jù)空白元素定位獲取郵件正文

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)

POP3服務器地址:pop.gmail.com(SSL啟用 端口:995)

SMTP服務器地址:smtp.gmail.com(SSL啟用 端口:587)

21cn.com:

POP3服務器地址:pop.21cn.com(端口:110)

SMTP服務器地址:smtp.21cn.com(端口:25)

:

POP3服務器地址:pop3..cn(端口:110)

SMTP服務器地址:smtp..cn(端口:25)

:

POP3服務器地址:pop.(端口:110)

SMTP服務器地址:smtp.(端口: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)

ya:

POP3服務器地址:pop.mail.ya

SMTP服務器地址:smtp.mail.ya

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. (端口:110)

SMTP服務器:smtp.vip. (端口:25)

:

POP3服務器地址:pop3.(端口:110)

SMTP服務器地址:smtp.(端口:25)

e:

POP3服務器地址:pop.e

SMTP服務器地址:smtp.e

x263.net:

POP3服務器地址:pop.x263.net(端口:110)

SMTP服務器地址:smtp.x263.net(端口:25)

ya.cn:

POP3服務器地址:pop.mail.ya.cn(端口:995)

SMTP服務器地址:smtp.mail.ya.cn(端口:587)

雅虎郵箱POP3的SSL不啟用端口為110,POP3的SSL啟用端口995;SMTP的SSL不啟用端口為25,SMTP的SSL啟用端口為465

QQ郵箱 QQ企業(yè)郵箱

POP3服務器地址:(端口:110) POP3服務器地址: (SSL啟用 端口:995)

SMTP服務器地址: (端口:25) SMTP服務器地址:(SSL啟用 端口:587/465)

SMTP服務器需要身份驗證

126郵箱 HotMail

POP3服務器地址:pop.126.com(端口:110) POP3服務器地址: (端口:995)

SMTP服務器地址:smtp.126.com(端口:25) SMTP服務器地址: (端口:587)

c: 139郵箱

POP3服務器地址:pop.c(端口:110) POP3服務器地址:POP.139.com(端口:110)

SMTP服務器地址:smtp.c(端口:25) SMTP服務器地址:SMTP.139.com(端口:25)

1.《如何下載郵箱里的郵件、qq郵箱如何下載郵件》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識,僅代表作者本人觀點,與本網(wǎng)站無關(guān),侵刪請聯(lián)系頁腳下方聯(lián)系方式。

2.《如何下載郵箱里的郵件、qq郵箱如何下載郵件》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。

3.文章轉(zhuǎn)載時請保留本站內(nèi)容來源地址,http://f99ss.com/keji/3219869.html