Java連載55-Mail編程


一、電子郵件的歷史

1.起源:

1969 Lenoard K. 教授發給同事的“LO”

1971 美國國防部自主的阿帕網(Arpanet)的通訊機制

通訊地址里用@

1987年中國的第一份電子郵件

“Across the Great Wall we can reach every corner in the world"

2.管理程序

Euroda使郵件普及,Netscape,outlook,formail,后來居上;Hotmail使用瀏覽器發送郵件

3.​參考資料:https://docs.python.org/3/library/email.mime.html

4.郵件工作流程

MUA(MailUserAgent)郵件用戶代理

MTA(MailTransferAgent)郵件傳輸代理

MDA(MailDeliveryAgent)郵件投遞代理

laoshi@qq.com, 老師,北京海淀

xuesheng@sina.com, 學生,上海靜安區

​流程:

(1)MUA-MTA ,郵件已經在服務器上了

(2)qq MTA-.........-sina MTA,郵件已經在新浪的服務器上

(3)sina MTA-sina MDA,此時郵件已經在你的郵箱上了

(4)sina MDA - MUA (Foxmail/Outlook),郵件下載到本地電腦

​編寫程序的過程:

(1)​發送:MUA-MTA with SMTP(SimpleMailTransferProtocal)包含MTA-MTA

(2)接受​:MDA-MUA with POP3 and IMAP:PostOfficeProtocal v3 and InternetMessageAcessProtocal v4

(3)准備工作:注冊郵箱(以qq郵箱為例),第三方郵箱需要設置,以qq郵箱為例​:進入設置中心,取得授權碼

二、敲代碼

1.SMTP協議負責發送郵件

(1)使用email模塊構建郵件

(2)使用smtplib模塊發送郵件

#導入相應的包import smtplibfrom email.mime.text import MIMEText#MIMEText三個主要參數:1.郵件內容;2.MIME子類型,在此案例中我們用plain表示text類型;3.郵件編碼格式msg = MIMEText("hello ,I am ruigege","plain","utf-8")#發送email地址,此處地址直接使用我的qq郵箱,密碼一般許喲啊臨時輸入,此處偷懶from_addr = "1215217867@qq.con"#此處密碼是經過申請設置之后的授權碼,不是自己的qq號碼密碼,相當於github中的privateTokenfrom_pwd = ""#收件人信息#此處使用qq郵箱,我給自己發送吧,就不打擾別人了to_addr = "1215217867@qq.com"#輸入SMTP服務器地址#此處根據不同的郵件服務商有不同的值#現在基本任何一家郵件服務商,如果采用第三方收發郵件,都需要開啟授權選項#騰訊qq郵箱的smtp地址是smtp.qq.comsmtp_srv = "smtp.qq.com"try: #兩個參數:第一個是服務器地址,但一定是bytes格式,所以需要編碼;第二個參數是服務器的接受訪問端口 srv = smtplib.SMTP_SSL(smtp_srv.encode(),465)#SMTP協議默認端口25 #登錄郵箱發送 srv.login(from_addr,from_pwd) #發送郵件:三個參數1.發送地址;2.接受地址,必須是List形式;3.發送內容,作為字符串進行發送 srv.sendmail(from_addr,[to_addr],msg.as_string()) srv.quit()except Exception as w: print(w)

2.POP3協議用於接受郵件

五、源碼

D55_1_MailProgramme.py

https://github.com/ruigege66/Python_learning/blob/master/D55_1_MailProgramme.py

2.CSDN:https://blog.csdn.net/weixin_44630050(心悅君兮君不知-睿)

3.博客園:https://www.cnblogs.com/ruigege0000/

4.歡迎關注微信公眾號:傅里葉變換,個人公眾號,僅用於學習交流,后台回復”禮包“,獲取大數據學習資料

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM