




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、- python 語言期末大作業( 2014 / 2015 學年 第 二 學期)報告題目:使用 smtplib和 email 模塊發送郵件專業軟件工程(嵌入式培養)學生姓名夏何輝班級學號 b14041431 任課教師朱立華教師單位計算機軟件教學中心完成日期 2015年 6 月 16 日- 評分細則評分項優秀良好中等差上課出勤上課表現上機情況平時作業完成情況期末大作業:(1)書寫認真程度(2)內容詳實程度(3)文字表達能力(4)是否體現觀點簡短評語教師簽名:年月日評分等級備注評分等級有五種:優秀、良好、中等、及格、不及格- 使用 smtplib和 email 模塊發送郵件 python 語音是一
2、款方便簡介,幾乎無所不能的編程語言,我通過自己的課上學習與課下鉆研,學會了如何使用smtplib模塊定義一個簡單的smtp 客戶端來在互聯網上發送郵件。在 smtp 模塊這么多已定義的類中,我們最常用的的還是smtplib.smtp 類,就具體看看該類的用法:smtp 實例封裝一個 smtp 連接,它支持所有的smtp 和 esmtp 操作指令,如果host 和port 參數被定義, 則 smtp 會在初始化期間自動調用connect() 方法,如果 connect() 方法失敗,則會觸發 smtpconnecterror異常,timeout 參數設置了超時時間。在一般的調用過程中,應該遵 c
3、onnetc() 、sendmail() 、quit()步驟。主要代碼如下:smtp.set_debuglevel(level) / 設置輸出 debug調試信息,默認不輸出調試信息。smtp.docmd(cmd, argstring) / 發送一個 command 到 smtp 服務器,smtp.connect(host, port) / 連接到指定的 smtp 服務器,默認是本機的25 端口。也可以寫成hostname:port的形式。smtp.helo(hostname) / 使用 helo 指令向 smtp 服務器確認你的身份。smtp.ehlo(hostname) / 使用 ehlo
4、 指令向 esmtp 服務器確認你的身份。smtp.ehlo_or_helo_if_needed() / 如果在以前的會話連接中沒有提供ehlo 或者 helo 指令,這個方法調用 ehlo() 或者helo() 。smtp.has_extn(name) / 判斷指定的名稱是否在smtp 服務器上。smtp.verify(address) / 判斷郵件地址是否在smtp 服務器上存在。smtp.login(user, password) - / 登陸需要驗證的smtp 服務器,如果之前沒有提供ehlo 或者 helo 指令,則會先嘗試 esmtp 的 ehlo 指令。smtp.starttls
5、(keyfile, certfile) / 使 smtp 連接運行在 tls模式,所有的 smtp 指令都會被加密。smtp.sendmail(from_addr, to_addrs, msg, mail_options, rcpt_options) / 發送郵件,該方法需要一些郵件地址和消息。smtp.quit() / 終止 smtp 會話并且關閉連接。如果想在郵件中攜帶附件、使用html 書寫郵件,附帶圖片等等,就需要使用email模塊及其子模塊。下面來看看email 包,email 包是用來管理 email 信息的,它包括mime和其他基于 rfc 2822的消息格式。 email 包的
6、主要特征是在它內部解析和生成email 信息是分開的模塊來實現的。mime 消息由消息頭和消息體兩大部分組成,在郵件里就是郵件頭和郵件體。郵件頭與郵件體之間以空行進行分隔。郵件頭包含了發件人、 收件人、主題、時間、mime 版本、郵件內容的類型等重要信息。每條信息稱為一個域,由域名后加“: ”和信息內容構成,可以是一行,較長的也可以占用多行。域的首行必須“頂頭”寫,即左邊不能有空白字符(空格和制表符);續行則必須以空白字符打頭,且第一個空白字符不是信息本身固有的。郵件體包含郵件的內容,它的類型由郵件頭的“content- type”域指出。最常見的類型有 text/plain(純文本 ) 和
7、text/html(超文本 ) 。郵件體被分為多個段,每個段又包含段頭和段體兩部分,這兩部分之間也以空行分隔。常見的multipart類型有三種:multipart/mixed, multipart/related和 multipart/alternative。在 email 的包里面包含了很多模塊:email.message email.parser email.generator email.mime 創建 email 和 mime對象email.header email.charset - email.encoders email.ereors email.utils email.ite
8、rators 主要來看看email.mime ,在郵件中攜帶附件、圖片、音頻時,主要使用的是該模塊。一般情況下,你通過解析一個文件或者一段text來生成一個消息對象結構,你也可以從頭開始建立一個消息結構,實際上,你可以給一個已經存在的消息結構追加一個新的消息對象。你可以通過創建message實例來創建一個對象結構,然后給該結構追加附件和頭部信息。 email 包提供了一些子類使得該操作變得很容易。模擬在郵件內容中攜帶圖片,如下:from email.mime.text import mimetext from email.mime.multipart import mimemultipart
9、from email.mime.image import mimeimage import smtplib from_mail = to_mail = msg = mimemultipart() msgfrom = from_mail msgto = to_mail msgsubject = python mail test body = test img send con = mimetext(%s % body,html) msg.attach(con) img = mimeimage(file(d:10535-102.jpg,rb).read() img.add_header(content-id,d:10535-102.jpg) msg.attach(img) server
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權】 ISO/IEC 23008-2:2025 EN Information technology - High efficiency coding and media delivery in heterogeneous environments - Part 2: High efficiency video coding
- 精簡年終述職報告
- 對供應商的管理
- 保險行業未來發展前景
- 2025年六班級班主任工作方案
- 2025年社區防汛搶險活動方案
- 畢業論文答辯結構化展示
- 2025年幼兒園母親節方案
- 山東建筑大學《第二外國語(3)》2023-2024學年第二學期期末試卷
- 北京中醫藥大學東方學院《JavaWeb程序設計實驗》2023-2024學年第二學期期末試卷
- 2025年蘇美達股份有限公司招聘筆試參考題庫含答案解析
- 互聯網醫院建設與運營模式
- 《質譜分析方惠群版》課件
- 【MOOC】學術英語演講-南京航空航天大學 中國大學慕課MOOC答案
- 大班春天《我們找到的春天》課件
- 專業鋼結構拆除方案(完整詳細版)
- 照明燈具技術規格書
- 辦公樓裝飾裝修工程施工組織設計方案
- 基于arduino交通燈課程設計
- 2023年證券公司高級管理人員資質考試真題(附帶答案)
- 記敘文、議論文答題模板(簡化版)
評論
0/150
提交評論