发送邮件
来源:互联网 发布:java覆盖 编辑:程序博客网 时间:2024/05/29 17:45
发送文本
import smtplib from email.mime.text import MIMEText mailto_list=[' '] mail_host="smtp.163.com" #设置服务器mail_user=" " #用户名mail_pass=" " #口令 mail_postfix="163.com" #发件箱的后缀def send_mail(to_list,sub,content): me="hello"+"<"+mail_user+"@"+mail_postfix+">" msg = MIMEText(content,_subtype='plain',_charset='gb2312') msg['Subject'] = sub msg['From'] = me msg['To'] = ";".join(to_list) try: server = smtplib.SMTP() server.connect(mail_host) server.login(mail_user,mail_pass) server.sendmail(me, to_list, msg.as_string()) server.close() return True except Exception, e: print str(e) return False if __name__ == '__main__': if send_mail(mailto_list,"hello","hello world!"): print "发送成功" else: print "发送失败"
发送附件
from email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartimport smtplib#创建一个带附件的实例msg = MIMEMultipart()#构造附件1att1 = MIMEText(open(r' ', 'rb').read(), 'base64', 'gb2312')att1["Content-Type"] = 'application/octet-stream'att1["Content-Disposition"] = 'attachment; filename="123.doc"'#这里的filename可以任意写,写什么名字,邮件中显示什么名字msg.attach(att1)#构造附件2att2 = MIMEText(open(r' ', 'rb').read(), 'base64', 'gb2312')att2["Content-Type"] = 'application/octet-stream'att2["Content-Disposition"] = 'attachment; filename="123.txt"'msg.attach(att2)#加邮件头msg['to'] = ' 'msg['from'] = ' 'msg['subject'] = ' '#发送邮件try: server = smtplib.SMTP() server.connect('smtp.163.com') server.login(' ',' ')#XXX为用户名,XXXXX为密码 server.sendmail(msg['from'], msg['to'],msg.as_string()) server.quit() print '发送成功'except Exception, e: print str(e)
发送文本、附件、图片
from email.mime.image import MIMEImagefrom email.mime.multipart import MIMEMultipartfrom email.mime.text import MIMEText import smtplib class SendEmail: # 构造函数:初始化基本信息 def __init__(self, host, user, passwd): lInfo = user.split("@") self._user = user self._account = lInfo[0] self._me = self._account + "<" + self._user + ">" server = smtplib.SMTP() server.connect(host) server.login(self._account, passwd) self._server = server # 发送文件或html邮件 def sendTxtMail(self, to_list, sub, content, subtype='html'): # 如果发送的是文本邮件,则_subtype设置为plain # 如果发送的是html邮件,则_subtype设置为html msg = MIMEText(content, _subtype=subtype, _charset='utf-8') msg['Subject'] = sub msg['From'] = self._me msg['To'] = ";".join(to_list) try: self._server.sendmail(self._me, to_list, msg.as_string()) return True except Exception, e: print str(e) return False # 发送带附件的文件或html邮件 def sendAttachMail(self, to_list, sub, content, subtype='html'): # 创建一个带附件的实例 msg = MIMEMultipart() # 增加附件1 att1 = MIMEText(open(r'D:\Data\data1.dbf','rb').read(), 'base64', 'utf-8') att1["Content-Type"] = 'application/octet-stream' # 这里的filename可以任意写,写什么名字,邮件中显示什么名字 att1["Content-Disposition"] = 'attachment; filename="main.py"' msg.attach(att1) # 增加附件2 att2 = MIMEText(open(r'C:\Python26\ExcerHtml\IP.txt','rb').read(), 'base64', 'utf-8') att2["Content-Type"] = 'application/octet-stream' att2["Content-Disposition"] = 'attachment; filename="main.txt"' msg.attach(att2) # 增加邮件内容 msg.attach(MIMEText(content, _subtype=subtype, _charset='utf-8')) msg['Subject'] = sub msg['From'] = self._me msg['To'] = ";".join(to_list) try: self._server.sendmail(self._me, to_list, msg.as_string()) return True except Exception, e: print str(e) return False # 发送带附件的文件或html邮件 def sendImageMail(self, to_list, sub, content, subtype='html'): # 创建一个带附件的实例 msg = MIMEMultipart() # 增加邮件内容 msg.attach(MIMEText(content, _subtype=subtype, _charset='utf-8')) # 增加图片附件 image = MIMEImage(open(r'F:\test\001.jpg','rb').read()) #附件列表中显示的文件名 image.add_header('Content-Disposition', 'attachment;filename=p.jpg') msg.attach(image) msg['Subject'] = sub msg['From'] = self._me msg['To'] = ";".join(to_list) try: self._server.sendmail(self._me, to_list, msg.as_string()) return True except Exception, e: print str(e) return False # 析构函数:释放资源 def __del__(self): self._server.quit() self._server.close()mailto_list = [' '] mail = SendEmail('smtp.163.com', ' ', ' ')if mail.sendTxtMail(mailto_list, "测试邮件", "hello world!<br><br><h1>你好,发送文本文件测试<h1>"): print "发送成功" else: print "发送失败"if mail.sendAttachMail(mailto_list, "测试邮件-带两个附件", "hello world!<br><br><h1>你好,发送文本文件测试<h1>"): print "发送成功" else: print "发送失败"if mail.sendImageMail(mailto_list, "测试邮件-带一个图片的附件", "hello world!<br><br><h1>你好,发送文本文件测试<h1>"): print "发送成功" else: print "发送失败"
0 0
- 邮件发送
- 邮件发送
- 发送邮件
- 发送邮件
- 发送邮件
- 邮件发送
- 邮件发送
- 邮件发送
- 发送邮件
- 发送邮件
- 邮件发送
- 邮件发送
- 发送邮件
- 邮件发送
- 邮件发送
- 发送邮件
- 发送邮件
- 发送邮件
- 《JAVA 核心技术 基础知识》第三章 笔记
- MySql优化--系统配置优化和硬件优化
- hasse数列
- busybox的作用和功能
- QT 环境的搭建
- 发送邮件
- java学习之旅64--常用类_自动装箱和拆箱_缓存处理
- OpenCV Access pixel value
- 关于cocoapods一些错误的解决问
- Android Studio 初体验,从Eclipse到AS
- 10934 - Dropping water balloons(DP)
- 3.hibernate基础配置
- 关于eclipse安装Genymotion插件的方法
- [LeetCode][Java] Remove Duplicates from Sorted List