1. 程式人生 > 程式設計 >如何使用Python傳送HTML格式的郵件

如何使用Python傳送HTML格式的郵件

這篇文章主要介紹瞭如何使用Python傳送HTML格式的郵件,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

傳送html格式的和普通文字格式差不多,只是MIMEText(content,"html","utf-8"))與MIMEText(content,"plain","utf-8"))格式的區別,格式改一下就行了

Python傳送HTML格式的郵件與傳送純文字訊息的郵件不同之處就是將MIMEText中_subtype設定為html。具體程式碼如下:

#"-*- coding: utf-8 -*-"
import smtplib
from email.mime.text import MIMEText

mail_user = raw_input("請輸入你的163郵箱: ")
mail_password = raw_input("請輸入郵箱授權碼: ")
mail_from = raw_input("來自: ")
mail_sub = raw_input("郵件主題: ")
mail_content = raw_input("郵件內容: ") #例如: html格式的: "<a href='http://www.cnblogs.com/xiaowuyi'>小五義</a>"
#mailto_list = raw_input("")  #qq郵箱
mail_host="smtp.163.com"
mail_postfix="163.com"

def sendmail(sub,content):
  me=mail_from+"<"+mail_user+">"
  msg=MIMEText(content,"utf-8")
  msg['Subject']=sub
  msg['From']=me
  to_list = map(None,raw_input("傳送給: ").split(' '))
  msg['To']=",".join(to_list)
  try:
    server=smtplib.SMTP()
    server.connect(mail_host)
    server.login(mail_user,mail_password)
    server.sendmail(me,to_list,msg.as_string())
    server.close()
    return True
  except Exception,e:
    print str(e)
    return False
if sendmail(mail_sub,mail_content):
  print "done!"
else:
  print "falsed!"




#第二種方法:
#!/usr/bin/python
#-*- coding: utf-8 -*-

from email import encoders
from email.header import Header
from email.mime.text import MIMEText
from email.utils import parseaddr,formataddr
import smtplib


mailer_name=raw_input("from: ")
mail_user=raw_input("163 email address: ")
mail_pass=raw_input("郵箱授權碼: ")
mail_content=raw_input("content: ")  #郵件內容是html格式的
mail_host="smtp.163.com"
mail_postfix="163.com"

def send_mail(sub,content):
  me=mailer_name +"<"+mail_user+">"
  msg=MIMEText(content,"utf-8")
  msg['Subject']=sub
  msg['From']=me
  to_list = map(None,raw_input("mail_to: ").split(" "))#可以群發
  msg['To']=",".join(to_list)
  try:
    server=smtplib.SMTP()
    server.connect(mail_host)
    server.login(mail_user,mail_pass)
    server.sendmail(me,msg.as_string())
    server.close()
    return True
  except Exception,e:
    print str(e)
    return False
if send_mail("郵件",mail_content):
  print "done!"
else:
  print "failed!"

結果

如何使用Python傳送HTML格式的郵件

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。