最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Python发送Email方法实例

来源:动视网 责编:小采 时间:2020-11-27 14:30:50
文档

Python发送Email方法实例

Python发送Email方法实例:本文以实例形式展示了Python发送Email功能的实现方法,有不错的实用价值的技巧,且功能较为完善。具体实现方法如下: 主要功能代码如下: #/usr/bin/env python # -*- encoding=utf-8 -*- import base64 import smtplib fro
推荐度:
导读Python发送Email方法实例:本文以实例形式展示了Python发送Email功能的实现方法,有不错的实用价值的技巧,且功能较为完善。具体实现方法如下: 主要功能代码如下: #/usr/bin/env python # -*- encoding=utf-8 -*- import base64 import smtplib fro


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

主要功能代码如下:

#/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' #发件人别名
 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程序设计有一定的帮助。

文档

Python发送Email方法实例

Python发送Email方法实例:本文以实例形式展示了Python发送Email功能的实现方法,有不错的实用价值的技巧,且功能较为完善。具体实现方法如下: 主要功能代码如下: #/usr/bin/env python # -*- encoding=utf-8 -*- import base64 import smtplib fro
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top