python發送電子郵件模塊smtplib

一.簡介:

   電子郵件是最流行的互聯網應用之一,在系統管理中,經常需要使用郵件來告警信息,業務質量報告等。方便運維人員在第一時間瞭解業務的服務狀態,將通過使用python的smtplib模塊來實現郵件的發送功能,能模擬一個smtp的客戶端,通過與smtp服務器交互來實現郵件的發送功能,可以理解成foxmail的發郵件功能,在第一次使用的時候需要誒只smtp的主機地址,郵箱帳號密碼等信息。python 2.4以上的版本默認就自帶了smtplib模塊,無需額外安裝。

二.smtplib模塊的常用類與方法

    smtp類定義:smtp.SMTP([host[,port[,local_hostname[,timeout]]]]),作爲smtp的構造函數,功能是與smtp服務器建立連接,成功之後,就可以向服務器發送相關請求,如:登錄,校驗,發送,推出等。host參數爲遠程smtp主機地址,比如:smtp.163.com,port 25,local_hostname的作用是在本地主機的FQDN發送HELO/EHLO(表示用戶身份)指令,timeout爲連接或者嘗試的超時時間。

#!/usr/bin/python 
#coding: utf-8
#mail:[email protected]
#htttp://www.mrliangqi.com
import  smtplib 
import  string
HOST = "smtp.126.com"
SUBJECT = "HI,test email from  python!" 
TO  = "[email protected]"
FROM = "[email protected]"
TEXT = "hello  world"
BODY = string.join((
                "From: %s" %FROM,
                "TO: %s" % TO,
                "Subject: %s" %  SUBJECT,
                "",
                TEXT
                ),"\r\n")
try:
        server = smtplib.SMTP()
        server.connect(HOST,"25")   #連接遠程主機smtp主機的方法
        server.starttls()
        server.login("[email protected]","mailpwd")  #遠程smtp主機方法。引號中是帳號和密碼
        server.sendmail(FROM,[TO],BODY)
        server.quit() #斷開smtp服務器
        print "Mail sent successfully"
except exception, e:
        print "Mail sendfail!"


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章