香港云主机最佳企业级服务商!

ADSL拨号VPS包含了中国大陆(联通,移动,电信,)

中国香港,国外拨号VPS。

当前位置:云主机 > python >

电信ADSL拨号VPS
联通ADSL拨号VPS
移动ADSL拨号VPS

Python发送Email方法实例


时间:2021-04-29 10:48 作者:admin610456


本文以实例形式展示了python/' target='_blank'>python发送Email功能的实现方法,有不错的实用价值的技巧,且功能较为完善。具体实现方法如下:

主要功能代码如下:

#/usr/bin/env Python# -*- encoding=utf-8 -*-import base64import smtplibfrom email.mime.multipart import MIMEMultipartfrom email.mime.text import MIMETextclass 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' #发件人别名    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 = []    #给单个人发送邮件  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    #群发邮件  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#测试def main():  send=CCSendMail()  send.sendHtml('touser@xxx.com',u'邮件标题',u'邮件内容')  #send.sendMoreHtml([touser1@xx.com,touser2@xx.com],u'邮件标题',u'邮件内容') if __name__=='__main__':  main()

希望本文所述实例对大家的Python程序设计有一定的帮助。

(责任编辑:admin)






帮助中心
会员注册
找回密码
新闻中心
快捷通道
域名登录面板
虚机登录面板
云主机登录面板
关于我们
关于我们
联系我们
联系方式

售前咨询:17830004266(重庆移动)

企业QQ:383546523

《中华人民共和国工业和信息化部》 编号:ICP备00012341号

Copyright © 2002 -2018 香港云主机 版权所有
声明:香港云主机品牌标志、品牌吉祥物均已注册商标,版权所有,窃用必究

云官方微信

在线客服

  • 企业QQ: 点击这里给我发消息
  • 技术支持:383546523

  • 公司总台电话:17830004266(重庆移动)
  • 售前咨询热线:17830004266(重庆移动)