1. 程式人生 > >python傳送html格式的郵件

python傳送html格式的郵件

python發郵件

 1 #!/usr/bin/python
 2 # -*- coding: UTF-8 -*-
 3 import smtplib
 4 from email.mime.text import MIMEText
 5 import string
 6 mailto_list=["[email protected]","XXX@163.com"]
 7 print mailto_list
 8 mail_host="smtp.exmail.qq.com"  #設定伺服器
 9 mail_user="XX@qq.com"    #使用者名稱
10 mail_pass="passwd
" #口令 11 neirong="<ul><li><font size=\"2\">12345</font></li></ul>" 12 13 def send_mail(to_list,sub,content): #定義一個函式,收件人、標題、郵件內容 14 me="hello"+"<"+mail_user+">" #發件人定義,這裡要和認證帳號一致才行的 15 msg = MIMEText(content,_subtype='html',_charset='utf-8') #這裡看email模組的說明,這裡構造內容
16 msg['Subject'] = sub 17 msg['From'] = me 18 # msg['To'] = string.join(mailto_list,",") #這是2中的一種寫法,通過string.join()函式,可以把元組中的各個欄位以“,”分隔,和下面達到一樣的效果 19 msg['To'] = ",".join(mailto_list) #這種在2和3都可以用,在3中,string模組中取消了join()函式,join()函式作為一個全域性函式被使用 20 try: 21 server = smtplib.SMTP()
22 server.connect(mail_host) 23 # server.starttls() 24 server.login(mail_user,mail_pass) 25 server.sendmail(me, to_list, msg.as_string()) 26 server.close() 27 return True 28 except Exception, e: 29 print str(e) 30 return False 31 if __name__ == '__main__': #做個判斷,當直接呼叫的時候才執行這個函式,什麼是直接呼叫?就是我直接執行這個指令碼的時候就是直接呼叫,如果我在別的指令碼匯入這個指令碼在執行就是間接呼叫 32 if send_mail(mailto_list,"hello",neirong): 33 print "傳送成功" 34 else: 35 print "傳送失敗"