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

python發送html格式的郵件

bin smtplib 分隔 字段 rtt 郵件內容 except color ()

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 "發送失敗"

python發送html格式的郵件