最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python發(fā)送Email方法實(shí)例

 更新時(shí)間:2014年08月21日 11:59:51   投稿:shichen2014  
這篇文章主要介紹了Python發(fā)送Email的方法,有不錯(cuò)的實(shí)用價(jià)值,代碼備有一定的注釋便于讀者理解,需要的朋友可以參考下

本文以實(shí)例形式展示了Python發(fā)送Email功能的實(shí)現(xiàn)方法,有不錯(cuò)的實(shí)用價(jià)值的技巧,且功能較為完善。具體實(shí)現(xiàn)方法如下:

主要功能代碼如下:

#/usr/bin/env python
# -*- encoding=utf-8 -*-

import base64
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

class CCSendMail:
  def __init__(self,host="your.mailhost.com",username='fromuser@xxx.com',password='passwd'):
    self.__smtp=smtplib.SMTP(host)
    self.__subject=None
    self.__content=None
    self.__from=None
    self.__to=[]
    self.__style='html'
    self.__charset='gb2312'
    self.username = username
    self.password = password
    self.fromAlias='fromuser' #發(fā)件人別名
    self.from2=''
    
  def close(self):
    try:
      self.__smtp.quit()
    except Exception ,e:
      pass  
  def setFromAlias(self,alias):
    self.fromAlias=alias
  def setStyle(self,style):
    self.__style = style
  def setFrom2(self,from2):
    self.from2=from2
    
  def setSubject(self,subject):
    self.__subject=subject
    
  def setContent(self,content):
    self.__content=content
    
  def setFrom(self,address):
    self.__from=address
    
  def addTo(self,address):
    self.__to.append(address)
    
  def setCharset(self,charset):
    self.__charset=charset
    
  def send(self):
    try:
      self.__smtp.set_debuglevel(1)
      
      #login if necessary
      if self.username and self.password:
        self.__smtp.login(self.username,self.password)
        
      msgRoot = MIMEMultipart('related')
      msgRoot['Subject'] = self.__subject
      aliasB6=base64.encodestring(self.fromAlias.encode(self.__charset))
      if len(self.from2)==0:
        msgRoot['From'] = "=?%s?B?%s?=%s"%(self.__charset,aliasB6.strip(),self.__from)
      else:
        msgRoot['From'] = "%s"%(self.from2)
      msgRoot['To'] = ";".join(self.__to)
      
      msgAlternative = MIMEMultipart('alternative')
      msgRoot.attach(msgAlternative)
      
      msgText = MIMEText(self.__content, self.__style,self.__charset)
      msgAlternative.attach(msgText)

      self.__smtp.sendmail(self.__from,self.__to,msgRoot.as_string())
      return True
    except Exception,e:
      print "Error ",e
      return False
    
  def clearRecipient(self):
    self.__to = []
  
  #給單個(gè)人發(fā)送郵件
  def sendHtml(self,address,title,content):
    self.setStyle('html')
    self.setFrom("<%s>"%self.username)
    if not isinstance(content,str):
      content = content.encode('gb18030')
    self.addTo(address)
    self.setSubject(title)
    self.setContent(content)
    ret = self.send()
    self.close()
    return ret
  
  #群發(fā)郵件
  def sendMoreHtml(self,addressList,title,content):
    self.setStyle('html')
    self.setFrom("<%s>"%self.username)
    if not isinstance(content,str):
      content = content.encode('gb18030')
    for address in addressList:
      self.addTo(address)
    self.setSubject(title)
    self.setContent(content)
    ret = self.send()
    self.close()
    return ret

#測(cè)試
def main():
  send=CCSendMail()
  send.sendHtml('touser@xxx.com',u'郵件標(biāo)題',u'郵件內(nèi)容')
  #send.sendMoreHtml([touser1@xx.com,touser2@xx.com],u'郵件標(biāo)題',u'郵件內(nèi)容')
 
if __name__=='__main__':
  main()

希望本文所述實(shí)例對(duì)大家的Python程序設(shè)計(jì)有一定的幫助。

相關(guān)文章

  • Python解析微信dat文件的方法

    Python解析微信dat文件的方法

    這篇文章主要介紹了Python解析微信dat文件的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 深入理解python中實(shí)例方法的第一個(gè)參數(shù)self

    深入理解python中實(shí)例方法的第一個(gè)參數(shù)self

    在Python中,self?是類的實(shí)例方法的一個(gè)參數(shù),代表類的實(shí)例對(duì)象本身,在本篇文章中,我們將深入探討?self?的工作原理以及它在Python編程中的重要性,需要的可以參考下
    2023-09-09
  • 提高python代碼可讀性利器pycodestyle使用詳解

    提高python代碼可讀性利器pycodestyle使用詳解

    鑒于 Python 在數(shù)據(jù)科學(xué)中的流行,我將深入研究 pycodestyle 的使用方法,以提高 Python 代碼的質(zhì)量和可讀性。如果你想提升代碼質(zhì)量,歡迎收藏學(xué)習(xí),有所收獲,點(diǎn)贊支持
    2021-11-11
  • Python如何應(yīng)用cx_Oracle獲取oracle中的clob字段問題

    Python如何應(yīng)用cx_Oracle獲取oracle中的clob字段問題

    今天小編就為大家分享一篇Python如何應(yīng)用cx_Oracle獲取oracle中的clob字段問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 對(duì)tensorflow 中tile函數(shù)的使用詳解

    對(duì)tensorflow 中tile函數(shù)的使用詳解

    今天小編就為大家分享一篇對(duì)tensorflow 中tile函數(shù)的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • pycharm通過ssh遠(yuǎn)程連接服務(wù)器并運(yùn)行代碼詳細(xì)圖文

    pycharm通過ssh遠(yuǎn)程連接服務(wù)器并運(yùn)行代碼詳細(xì)圖文

    在運(yùn)行項(xiàng)目的過程中,由于自己電腦GPU不夠,通常需要將項(xiàng)目放到服務(wù)器上運(yùn)行,這時(shí)就會(huì)遇到如何將pycharm和服務(wù)器進(jìn)行連接,下面這篇文章主要給大家介紹了關(guān)于pycharm通過ssh遠(yuǎn)程連接服務(wù)器并運(yùn)行代碼的相關(guān)資料,需要的朋友可以參考下
    2024-03-03
  • Python 正則 re.compile 真的必需嗎

    Python 正則 re.compile 真的必需嗎

    本文主要介紹了Python 正則 re.compile 真的必需嗎,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • 最詳細(xì)的python工具Anaconda+Pycharm安裝教程

    最詳細(xì)的python工具Anaconda+Pycharm安裝教程

    這篇文章主要介紹了最詳細(xì)的python工具Anaconda+Pycharm安裝教程,文中有非常詳細(xì)的圖文示例,對(duì)不會(huì)安裝的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-04-04
  • Python爬蟲實(shí)現(xiàn)的根據(jù)分類爬取豆瓣電影信息功能示例

    Python爬蟲實(shí)現(xiàn)的根據(jù)分類爬取豆瓣電影信息功能示例

    這篇文章主要介紹了Python爬蟲實(shí)現(xiàn)的根據(jù)分類爬取豆瓣電影信息功能,結(jié)合完整實(shí)例形式分析了Python針對(duì)電影信息分類抓取的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-09-09
  • matplotlib基本圖形繪制操作實(shí)例

    matplotlib基本圖形繪制操作實(shí)例

    這篇文章主要為大家介紹了matplotlib基本圖形繪制操作實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12

最新評(píng)論

平塘县| 灵石县| 日照市| 古浪县| 多伦县| 札达县| 杨浦区| 东乌| 沙坪坝区| 万源市| 西乌| 察隅县| 德庆县| 鸡泽县| 长兴县| 贺州市| 东海县| 霞浦县| 获嘉县| 雷州市| 治多县| 新竹县| 武威市| 怀集县| 海门市| 松江区| 湟中县| 弥勒县| 紫云| 张家界市| 华阴市| 隆安县| 鄢陵县| 灵武市| 鄂尔多斯市| 通州区| 盐池县| 广平县| 池州市| 民丰县| 南和县|