亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python使用電子郵件模塊smtplib的方法

系統 2096 0

Smptp類定義:smtplib.SMTP(host[,port[,local_hostname[,,timeout]]]),作為SMTP的構造函數,功能是與smtp服務器建立連接,在連接成功后,就可以向服務器發送相關請求,比如登陸,校驗,發送,退出等。host參數為遠程smtp主機地址,比如stmp.163.com;port為連接端口,默認為25;local_hostname的作用是在本地的FQDN(完整的域名)發送HELO/EHLO指令,timeout為連接或嘗試在多數秒超時,SMTP類具有如下方法:
SMTP.connect([host[,port]])方法,連接遠程smtp主機方法,host為遠程主機地址,port為遠程主機smtp端口,默認25,也可以直接使用host:port形式表示,例如:SMTP.connect("smtp.163.com","25').
SMTP.login(user,password)方法,遠程smtp主機的校驗方法,參數為用戶名與密碼,如SMTP.login("18801457794@139.com",'123456').
SMTP.sendmail(from_addr,to_addrs,msg[,mail_options,rcpt_options])方法,實現郵件的發送功能,參數依次為發件人,收件人,郵件內容,例如:SMTP.sendmail("python@163.com",'404408853@qq.com',body),其中body內容定義如下:
"""From:python@163.com
To:404408853@qq.com
Subject:test mail
test mail body"""
SMTP.starttls([keyfile[,certfile]])方法,啟用TLS(安全傳輸)模式,所有SMTP指令都講加密傳輸,例如使用gmail的stmp服務器時需要啟動此項才能正常發送郵件
SMTP.quit()方法,端口smtp服務器的連接

下面通過實例列子來了解python是怎么發送郵件

            
[root@localhost smtplib]# cat simple1.py 
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import smtplib
import string
HOST = "smtp.139.com" #定義smtp主機
SUBJECT = "test" #定義郵件主題
TO = "404408853@qq.com" #定義郵件收件人
FROM = "18801457794@139.com" #定義郵件發件人
text = "python test mail" #郵件的內容
BODY=string.join(( #組裝sendmail方法的郵件主體內容,各段以"\r\n"進行分隔
  "From:%s" %FROM,
  "To:%s" %TO,
  "Subject:%s"%SUBJECT,
  "",
  text
),"\r\n")
   
server = smtplib.SMTP() #創建一個SMTP對象
server.connect(HOST,"25") #通過connect方法連接smtp主機
server.starttls() #啟動安全傳輸模式
server.login("18801457794@139.com","123456") #郵件賬戶登錄校驗
server.sendmail(FROM,TO,BODY) #郵件發送
server.quit() #斷開smtp連接
          

執行這段代碼,我們將受到一封郵件

python使用電子郵件模塊smtplib的方法_第1張圖片

實現HTML格式的數據報表郵件
純文本的郵件內容已經不能滿足我們多樣化的需求,本示例通過引入email.mime的MIMETex類來實現支持HTML格式的郵件,支持所有HTML元素,包含表格,圖片,動畫,CSS樣式,表單等。本示例使用HTML的表格定制完美的業務流量報表,實現代碼如下:

            
#!/usr/bin/env python
#coding:utf-8
import smtplib
from email.mime.text import MIMEText #導入MIMEText類
HOST = "smtp.139.com"
SUBJECT = u"官網流量數據報表"
TO = "404408853@qq.com"
FROM = "18801457794@139.com"
msg = MIMEText("""
  
            
*官網數據 更多
1)日訪問量: 152433 訪問次數:23651 頁面瀏覽量:45123 點擊數:545122 數據流量:504Mb
2)狀態碼消息
??500:105 404;3264 503;214
3)訪客瀏覽器信息
??IE:50% firefox:10% chrome:30% other:10%
4)頁面信息
??/index.php 42153
??/view.php 21451
""","html","utf-8") msg['Subject'] = SUBJECT msg['FROM'] = FROM msg['To'] = TO try: server = smtplib.SMTP() server.connect(HOST,'25') server.starttls() server.login('18801457794@139.com','123456') server.sendmail(FROM,TO,msg.as_string()) server.quit() print "郵件發送成功" except Exception,e: print "失敗:" + str(e)

運行代碼結果如圖,

python使用電子郵件模塊smtplib的方法_第2張圖片

示例2:實現圖文格式的服務器性能報表郵件
當要求包含圖片數據的郵件內容時,需要引用MIMEImage類,若郵件主體由多個MIME對象組成,則同時需要引用MIMEMultipart類來進行封裝。本示例通過MIMEText與MIMEImage類的組合來實現圖文格式的服務器性能報表郵件的定制,實現代碼如下

            
#!/usr/bin/env python
#coding: utf-8
import smtplib,string
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
HOST ="smtp.139.com" #定義smtp主機
SUBJECT = "金美美平臺系統狀態報表" #定義郵件主題
TO = "404408853@qq.com,302803690@qq.com" #定義郵件收件人
FROM = "18801457794@139.com" #定義郵件發件人
TO_list = TO.split(TO)
def addimg(src,imgid): #添加圖片函數,參數1:圖片路徑,參數2:圖片ID
  fp = open(src,'rb') #打開文件
  msgImage = MIMEImage(fp.read()) #創建MIMEImage對象,讀取圖片內容并作為參數
  fp.close() #關閉文件
  msgImage.add_header('Content-ID',imgid) #指定圖片文件的Content-ID,
            
            標簽src用到
  return msgImage #返回msgImage對象
 
msg = MIMEMultipart('related') #創建MIMEMultipart對象,采用related定義內嵌資源的郵件體
msgtext = MIMEText("""

            
以下是211.157.111.41系統狀態圖
""","html","utf-8") # 標簽的src屬性是通過Content-ID來引用的 msg.attach(msgtext) #MIMEMultipart對象附加MIMEText的內容 msg.attach(addimg("img/bytes_io.png","io")) #使用MIMEMultipart對象附加MIMEImage的內容 msg.attach(addimg("img/os_load.png","load")) msg.attach(addimg("img/os_mem.png","mem")) msg.attach(addimg("img/os_disk.png","disk")) msg['Subject'] = SUBJECT msg['FROM']=FROM msg['To'] = TO try: server = smtplib.SMTP() server.connect(HOST,"25") server.starttls() server.login('18801457794@139.com','123456') server.sendmail(FROM,TO_list,msg.as_string()) server.quit() print "郵件發送成功!" except Exception,e: print "失敗:"+ str(e)

代碼運行效果如圖

python使用電子郵件模塊smtplib的方法_第3張圖片


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久精品夜夜夜夜夜久久 | 久久久久在线观看 | 欧美中文字幕在线视频 | 天天艹在线 | www性欧美| 久久久毛片免费全部播放 | 青草在线视频 | 久青草国产手机在线观 | 2021在线永久免费视频 | 久久er99热这里只是精品 | 国产精品久久久亚洲 | 久久天天躁狠狠躁狠狠躁 | 999精品在线视频 | 青草福利| 真人实干一级毛片aa免费 | 亚洲人成网站999久久久综合 | sihu国产精品永久免费 | 中文字幕在线免费观看视频 | www成人在线观看 | 高级毛片| 欧美乱理伦另类视频 | 欧美一级片免费看 | 久热这里只有 | 久久999 | 狠狠躁日日躁人人爽 | 国产美女精品在线观看 | 精品九九视频 | 一区二区三区精品视频 | 亚洲美女在线观看播放 | 香蕉综合视频 | 热九九精品 | 韩国日本三级在线观看 | 俺去也理论网站 | 成年女人18毛片毛片免费 | 国产成人久久精品二区三区 | 亚洲精品欧美精品日韩精品 | 午夜看毛片 | 久久在线观看免费视频 | 久久综合一区 | 久久美| 天天弄天天操 |