python發送html格式的郵件
阿新 • • 發佈:2018-11-25
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" #口令 11neirong="<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格式的郵件