国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

Python如何實現郵件功能

瀏覽:66日期:2022-07-24 11:04:39

用Python的smtplib就可以簡單的實現郵件功能。什么是SMTP?郵件功能怎么實現?

SMTP(Simple Mail Transfer Protocol)即簡單郵件傳輸協議,它是一組用于由源地址到目的地址傳送郵件的規則,由它來控制信件的中轉方式。

python的smtplib提供了一種很方便的途徑發送電子郵件。它對smtp協議進行了簡單的封裝。

Python創建 SMTP 對象語法如下:

import smtplibsmtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )

參數說明:

host: SMTP 服務器主機。 你可以指定主機的ip地址或者域名如: runoob.com,這個是可選參數。

port: 如果你提供了 host 參數, 你需要指定 SMTP 服務使用的端口號,一般情況下 SMTP 端口號為25。

local_hostname: 如果 SMTP 在你的本機上,你只需要指定服務器地址為 localhost 即可。

Python SMTP 對象使用 sendmail 方法發送郵件,語法如下:

SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options])

參數說明:

from_addr: 郵件發送者地址。

to_addrs: 字符串列表,郵件發送地址。

msg: 發送消息

這里要注意一下第三個參數,msg 是字符串,表示郵件。我們知道郵件一般由標題,發信人,收件人,郵件內容,附件等構成,發送郵件的時候,要注意 msg 的格式。這個格式就是 smtp 協議中定義的格式。

分享給大家供大家參考。具體實現方法如下:

import smtplib, socketfromaddr = a@b.comtoaddrs = ['c@d.com', 'e@f.com']msg = open('multimsg.eml', 'r').read()try: server = smtplib.SMTP(’10.0.0.1’) result = server.sendmail(fromaddr, toaddrs, msg) server.quit() if result: for r in result.keys(): print 'Error sending to', r rt = result[r] print 'Code', rt[0], ':', rt[1]except (smtplib.SMTPException, socket.error), arg: print 'SMTP Server could not send mail', arg

實例補充:

python實現發送郵件功能

’’’套接字是為特定的網絡協議(例如TCP/IP,ICMP/IP,UDP/IP等),允許程序和接受并進行連接,要在python 中建立具有TCP和流套接字的簡單服務器,需要使用socket模塊,利用該模塊包含的函數和類定義,可生成通過網絡通信的程序,分為六步服務端的一些方法:1. 何為套接字內核中套接字是一層一層進行抽象展示的,把共性的東西抽取出來,這樣對外提供的接口可以盡量的統一,Socket函數中的三個參數其實就是把抽象的socket具體化的條件,famil參數決定了圖中所示的第二層通信域,type決定了第三層的通信模式,protocol決定了第四層真正的通信協議。首先了解這個內容是是在哪個層?是如何通信的http://www.cnblogs.com/wangcq/p/3520400.html,看了以方法,大體服務器和客戶端就分為這幾步1.創建對象2.將socket綁定在指定地址上,socket.bing(地址)3.第3步,綁定后,必須準備好套接字,對端口進行監聽 socket.listen(backlog)4.socket的accept方法等待客戶請求一個連接5.處理階段6.傳輸結束,服務器調用socket的close方法以關閉連接客戶端就為4個步驟:1.創建socket連接服務器2.使用socket的connect方法連接服務器 socket.connect((host,port))3.客戶和服務器通過send和recv方法通信4.調用socket的close方法通信’’’#encoding=utf-8import sockett = socket.socket(socket.AF_INET, socket.SOCK_STREAM) ’’’創建socket對象,格式socket.socket(family,type),family格式是AF_INET(對于IPV4協議的TCP和 UDP),type參數,SOCK_STREAM(流套接字,提供面向連接,可靠的數據服務,用于TCP)或者 SOCK_DGRAM(數據報文套接字提供無無面向連接,不可靠的數據服務,用于UDP),SOCK_RAW(raw套接字,較低層的協議)’’’t.connect((’smtp.126.com’, 25)) #建立連接print 'start', t.recv(1024) #使用recv方法通信,傳輸數據 t.send('helo 126.comrn') #發送內容print '111', t.recv(1024) t.send('auth loginrn') #進行郵箱的登錄print '222', t.recv(1024) #打印在控制臺t.send('dGVzdG1hbjE5ODA=rn') #base64位方式編碼,解碼為:testman1980print '333', t.recv(1024) #打印在控制臺t.send('Zm9zdGVyd3UxOTc4rn')#base64位方式編碼,解碼為:fosterwu1978print '444', t.recv(1024) #打印在控制臺t.send('mail from:<xxx1980@126.com>rn') #發件人 這里不是很清楚同樣在下方的郵件內容中,為何還要在一次print '555', t.recv(1024) #打印在控制臺t.send('rcpt to:<xxx@qq.com>rn') #改變了收件人,但是不明白下方也有一個收件人,下方是否會收到消息,并且優先級是怎樣的,明天實驗來看print '666', t.recv(1024) #打印在控制臺t.send('datarn') #data的作用目前還沒有發現,明天實踐print '777', t.recv(1024) #打印在控制臺#發送郵件內容t.send('from:xxx@126.comrn') #optional,可偽造別人的發件記錄t.send('to:xxx@qq.comrn') #optional,可發給任何人t.send('subject:hello!rn')t.send('rn') #按照smtp協議要求,在標題后要發個空行t.send('mail test1111!rn') #發送郵件內容t.send('.rn')print '888', t.recv(1024)

到此這篇關于Python如何實現郵件功能的文章就介紹到這了,更多相關Python實現郵件功能的方法內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 亚洲在线中文字幕 | 男子操女子 | 一级片美女 | www久久| 天堂视频免费看 | 免费韩国一级毛片 | 暖暖免费高清日本一区二区三区 | 九一精品国产 | 国产日本欧美在线观看 | 亚洲国产人成中文幕一级二级 | 精品视频久久久久 | 欧美日韩高清在线观看一区二区 | 免费一级在线 | 国产精品合集久久久久青苹果 | 欧美综合成人网 | 亚州一级片 | 欧美一级手机免费观看片 | yy6080午夜国产免费福利 | 美美女下面被cao爽 美女131爽爽爽做爰中文视频 | 日韩一区二区三区在线免费观看 | 日本卡一卡2卡3卡4精品卡无人区 | 成人一区视频 | 三级黄色在线播放 | 超91在线| 欧美大片欧美毛片大片 | 亚洲最新视频在线观看 | 久久99精品视频在线在线观看 | 在线播放人成午夜免费视频 | 日韩欧美毛片免费观看视频 | 99re6热视频精品免费观看 | 91av手机在线 | 手机看成人片 | 99精品久久久久久久免费看蜜月 | 国产一区二区精品久久91 | 精品三级视频 | 日韩精品一区二区三区高清 | 精品国产乱码久久久久久一区二区 | 一级毛片私人影院老司机 | 国产在线精品一区免费香蕉 | 久久99热精品免费观看k影院 | 国产一级片观看 |