当前位置:  编程技术>python

Python发送Email方法实例

    来源: 互联网  发布时间:2014-10-10

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

本文以实例形式展示了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.__
    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(""%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(""%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 namedtuple(命名元组)使用实例
  • python实现的重启关机程序实例
  • Python 3 Tkinter教程之事件Event绑定处理代码实例
  • python调用短信猫控件实现发短信功能实例
  • Python文件操作类操作实例详解
  • python 基础学习第二弹 类属性和实例属性
  • Python实现冒泡,插入,选择排序简单实例
  • Python 时间处理datetime实例
  • Python实现类继承实例
  • Python continue语句用法实例
  • python3编写C/S网络程序实例教程
  • 在python中的socket模块使用代理实例
  • python实现进程间通信简单实例
  • python字典多条件排序方法实例
  • python中enumerate的用法实例解析
  • python解析xml文件实例分享
  • python的绘图工具matplotlib使用实例
  • Python Tkinter简单布局实例教程
  • Python中__call__用法实例
  • 使用Python判断IP地址合法性的方法实例
  • Python中apply函数的用法实例教程
  • python使用PyFetion来发送短信的例子
  • python发送伪造的arp请求
  • python调用Moxa PCOMM Lite通过串口Ymodem协议实现发送文件
  • python发送arp欺骗攻击代码分析
  • Python实现发送email的几种常用方法
  • 二种python发送邮件实例讲解(python发邮件附件可以使用email模块实现)
  • Python使用新浪微博API发送微博的例子
  • python发送邮件示例(支持中文邮件标题)
  • 用smtplib和email封装python发送邮件模块类分享
  • Python 网络编程起步(Socket发送消息)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Python获取网页编码的方法及示例代码
  • 使用setup.py安装python包和卸载python包的方法
  • Python通过正则表达式获取,去除(过滤)或者替换HTML标签的几种方法
  • 如何运行Python程序的方法
  • python对XML的解析方法(SAX,DOM,ElementTree)介绍
  • Python3实现生成随机密码的方法
  • python list 合并连接字符串的方法
  • Python开发的单词频率统计工具wordsworth使用方法
  • Python实现多行注释的另类方法
  • Python判断变量是否已经定义的方法
  • python中定义结构体的方法
  • python字符串排序方法
  • 用Python脚本生成Android SALT扰码的方法
  • Python 条件判断的缩写方法
  • netbeans7安装python插件的方法图解
  • Python和php通信乱码问题解决方法
  • Python中无限元素列表的实现方法
  • win7 下搭建sublime的python开发环境的配置方法
  • SublimeText 2编译python出错的解决方法(The system cannot find the file specified)
  • 在Python安装MySQL支持模块的方法
  • python中文乱码的解决方法
  • Python GUI编程:tkinter实现一个窗口并居中代码
  • 让python同时兼容python2和python3的8个技巧分享
  • Python不使用print而直接输出二进制字符串
  • Python实现类继承实例 iis7站长之家
  • Python中实现json字符串和dict类型的互转
  • python读取csv文件示例(python操作csv)
  • python异常信息堆栈输出到日志文件
  • python基础教程之python消息摘要算法使用示例
  • python下用os.execl执行centos下的系统时间同步命令ntpdate
  • 新手该如何学python怎么学好python?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3