python 实现的发送邮件模板【普通邮件、带附件、带图片邮件】


Posted in Python onJuly 06, 2019

本文实例讲述了python 实现的发送邮件模板。分享给大家供大家参考,具体如下:

##发送普通txt文件(与发送html邮件不同的是邮件内容设置里的type设置为text,下面代码为发送普通邮件的另一种方法)
import smtplib
import string
from email.mime.text import MIMEText
from email.utils import formataddr
host = 'smtp.263.net'    ##定义smtp主机
SUBJECT = "test smtplib"  #定义邮件主题
TO = "xx@xx.com"   ##邮件接收人
FROM = "xxxx@xx.com"       ##邮件发送人
text = "content"              #邮件内容
###拼接邮件主体内容
BODY = "\r\n".join(("From %s:" % FROM,"To: %s" % TO,"Subject:%s" % SUBJECT,"",text)).encode("utf-8")
server = smtplib.SMTP()       #创建smtp对象
server.connect(host,"25")      ##通过connect方法连接smtp主机
server.starttls()        ##启动安全传输模式
server.login("xxx@huixxx.com",'GAxxx@xxx')    ##邮箱账号登录
server.sendmail(FROM,[TO],BODY)
server.quit()                    ##断开smtp连接

发送html邮件

import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
HOST = 'smtp.263.net'    ##定义smtp主机
SUBJECT = "test smtplib"  #定义邮件主题
TO = "xxx@xxx.com"   ##邮件接收人(可以为一个列表)
FROM = "xxx@xxx.com"       ##邮件发送人
text = "content"              #邮件内容
def sendmail():
  msg = MIMEText(content,_subtype='html',_charset='utf-8')
##邮件内容,content邮件内容,plain为邮件类型,charset为字符集
  msg['From'] = FROM
  msg['To'] = TO





#如果此处为列表(';'.join(to_list))
  msg['Subject'] = SUBJECT
  server = smtplib.SMTP("smtp.263.net",25)
  server.login("aa@aa.com.cn","xxxxx")

#发送者的用户名和密码
  server.sendmail(FROM,TO,msg.as_string())
  server.quit()
sendmail()

发送带附件的邮件

from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
import smtplib
#创建一个带附件的实例
msg = MIMEMultipart()
#构造附件1
file1 = MIMEText(open('d:\\123.rar', 'rb').read(), 'base64', 'utf-8')
file1["Content-Type"] = 'application/octet-stream'
file1["Content-Disposition"] = 'attachment; filename="123.doc"' #这里的filename可以任意写,写什么名字,邮件中显示什么名字
msg.attach(file1)
#加邮件头
msg['to'] = 'YYY@YYY.com'
msg['from'] = 'XXX@XXX.com'
msg['subject'] = 'hello world'#邮件主题
#发送邮件
server = smtplib.SMTP()
server.connect('smtp.XXX.com',"25")
server.login('XXX','XXXXX')


#XXX为用户名,XXXXX为密码
server.sendmail(msg['from'], msg['to'],msg.as_string())
server.quit()

发送带图片的邮件

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage
msg['From'] = "XXX@XXX.com"   #邮件发件人
msg['To'] = "YYY@YYY.com"     #邮件接收人
msg['Subject'] = "hello world"   ##邮件主题
def addimg(img_src,imgid):
  fp = open(img_src,'rb')
  msgImage = MIMEImage(fp.read())
  fp.close()
  msgImage.add_header('Conteng-ID',imgid)
  return msgImage






##返回msgImage对象
msg_text = MIMEText("""<table><tr><td><img src="cid:aa"></td></tr></table>""","html","utf-8")
#创建MIMEMultipart对象,采用related定义内嵌资源
msg = MIMEMultipart('related')
msg.attach(msg_text)
msg.attach(addimg("C:\aa.img",aa))


##这里的aa要与msg_text里的aa对应
#发送邮件
server = smtplib.SMTP()
server.connect('smtp.XXX.com',"25")
server.starttls()

##启动安全传输模式
server.login('XXX','XXXXX')


#XXX为用户名,XXXXX为密码
server.sendmail(msg['From'], msg['To'],msg.as_string())
#这里的前两个参数自定义
server.quit()

更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python实现的简单RPG游戏流程实例
Jun 28 Python
Python如何快速实现分布式任务
Jul 06 Python
详解Python中的动态属性和特性
Apr 07 Python
Python使用re模块正则提取字符串中括号内的内容示例
Jun 01 Python
python逆序打印各位数字的方法
Jun 25 Python
pandas 转换成行列表进行读取与Nan处理的方法
Oct 30 Python
django的csrf实现过程详解
Jul 26 Python
Django框架教程之中间件MiddleWare浅析
Dec 29 Python
解决Keras 与 Tensorflow 版本之间的兼容性问题
Feb 07 Python
python 解决print数组/矩阵无法完整输出的问题
Feb 19 Python
利用python控制Autocad:pyautocad方式
Jun 01 Python
简述 Python 的类和对象
Aug 21 Python
Python 微信爬虫完整实例【单线程与多线程】
Jul 06 #Python
python实现爬取百度图片的方法示例
Jul 06 #Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
Jul 06 #Python
python3 打印输出字典中特定的某个key的方法示例
Jul 06 #Python
python使用 zip 同时迭代多个序列示例
Jul 06 #Python
Python搭建Spark分布式集群环境
Jul 05 #Python
详解python解压压缩包的五种方法
Jul 05 #Python
You might like
php限制上传文件类型并保存上传文件的方法
2015/03/13 PHP
一个无限级XML绑定跨框架菜单(For IE)
2007/01/27 Javascript
javascript深入理解js闭包
2010/07/03 Javascript
jQuery下的几个你可能没用过的功能
2010/08/29 Javascript
基于MooTools的很有创意的滚动条时钟动画
2010/11/14 Javascript
js数组的操作详解
2013/03/27 Javascript
JS中prototype关键字的功能介绍及使用示例
2013/07/21 Javascript
IE下window.onresize 多次调用与死循环bug处理方法介绍
2013/11/12 Javascript
php实例分享之实现显示网站运行时间
2014/05/20 Javascript
js中运算符&amp;&amp; 和 || 的使用记录
2014/08/21 Javascript
JavaScript判断是否为数字的4种方法及效率比较
2015/04/01 Javascript
基于node实现websocket协议
2016/04/25 Javascript
js弹出框、对话框、提示框、弹窗实现方法总结(推荐)
2016/05/31 Javascript
Bootstrap分页插件之Bootstrap Paginator实例详解
2016/10/15 Javascript
JS查找英文文章中出现频率最高的单词
2017/03/20 Javascript
Js利用console计算代码运行时间的方法示例
2017/09/24 Javascript
Node.js 使用jade模板引擎的示例
2018/05/11 Javascript
使用nodejs分离html文件里的js和css详解
2019/04/12 NodeJs
如何自动化部署项目?折腾服务器之旅~
2019/04/16 Javascript
纯JS开发baguetteBox.js响应式画廊插件
2020/06/28 Javascript
[26:50]2018完美盛典DOTA2表演赛
2018/12/17 DOTA
Python2.7编程中SQLite3基本操作方法示例
2017/08/09 Python
学生信息管理系统python版
2018/10/17 Python
获取Pytorch中间某一层权重或者特征的例子
2019/08/17 Python
python两种注释用法的示例
2020/10/09 Python
TobyDeals美国:在电子产品上获得最好的优惠和折扣
2019/08/11 全球购物
澳大利亚在线性感内衣商店:Fantasy Lingerie
2021/02/07 全球购物
大专计算机个人求职的自我评价
2013/10/21 职场文书
国际商务系学生个人的自我评价
2013/11/26 职场文书
结婚保证书范文
2014/04/29 职场文书
师德师风承诺书
2014/05/23 职场文书
计算机系本科生求职信
2014/05/31 职场文书
关于上班时间调整的通知
2015/04/23 职场文书
读完《骆驼祥子》的观后感!
2019/07/05 职场文书
MySQL分库分表与分区的入门指南
2021/04/22 MySQL
HAM-2000摩机图
2021/04/22 无线电