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 将字符串转换成字典dict
Mar 24 Python
Python 3.x 连接数据库示例(pymysql 方式)
Jan 19 Python
python3实现抓取网页资源的 N 种方法
May 02 Python
详解Django rest_framework实现RESTful API
May 24 Python
使用pip发布Python程序的方法步骤
Oct 11 Python
简单了解django orm中介模型
Jul 30 Python
Python多线程及其基本使用方法实例分析
Oct 29 Python
python利用Excel读取和存储测试数据完成接口自动化教程
Apr 30 Python
Python的控制结构之For、While、If循环问题
Jun 30 Python
Python判断变量是否是None写法代码实例
Oct 09 Python
Python实现给PDF添加水印的方法
Jan 25 Python
Python爬虫之爬取最新更新的小说网站
May 06 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 的 __FILE__ 常量
2007/01/15 PHP
php smarty truncate UTF8乱码问题解决办法
2014/06/13 PHP
PHP模块化安装教程
2016/06/01 PHP
Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
2017/07/13 PHP
PHP7创建销毁session的实例方法
2020/02/03 PHP
JSON辅助格式化处理方法
2013/03/26 Javascript
JS求平均值的小例子
2013/11/29 Javascript
javascript 拷贝节点cloneNode()使用介绍
2014/04/03 Javascript
jQuery应用之jQuery链用法实例
2015/01/19 Javascript
jQuery实现按钮的点击 全选/反选 单选框/复选框 文本框 表单验证
2015/06/25 Javascript
Node.js对MongoDB数据库实现模糊查询的方法
2017/05/03 Javascript
vue获取DOM元素并设置属性的两种实现方法
2017/09/30 Javascript
JavaScript canvas实现围绕旋转动画
2017/11/18 Javascript
快速解决vue在ios端下点击响应延时的问题
2018/08/27 Javascript
node.js基于socket.io快速实现一个实时通讯应用
2019/04/23 Javascript
layer更改皮肤的实现方法
2019/09/11 Javascript
python使用PIL模块实现给图片打水印的方法
2015/05/22 Python
pytorch如何冻结某层参数的实现
2020/01/10 Python
在Django中预防CSRF攻击的操作
2020/03/13 Python
django model通过字典更新数据实例
2020/04/01 Python
详解CSS3中border-image的使用
2015/07/18 HTML / CSS
Html5 FileReader实现即时上传图片功能实例代码
2014/09/01 HTML / CSS
美国网上订购鲜花:FTD
2016/09/23 全球购物
BONIA官方网站:国际奢侈品牌和皮革专家
2016/11/27 全球购物
保时捷设计:Porsche Design
2019/03/30 全球购物
Melissa鞋英国官方网站:Nonnon
2019/05/01 全球购物
Blue Nile蓝色尼罗河香港官网:世界最大在线钻石珠宝销售商
2020/05/07 全球购物
接口可以包含哪些成员
2012/09/30 面试题
市场营销策划方案
2014/06/11 职场文书
小学教育见习报告
2014/10/31 职场文书
2015元旦主持词开场白和结束语
2014/12/14 职场文书
学校党员干部承诺书
2015/05/04 职场文书
2016年猴年新春致辞
2015/08/01 职场文书
利用Python+OpenCV三步去除水印
2021/05/28 Python
浅谈MySQL 亿级数据分页的优化
2021/06/15 MySQL
netty 实现tomcat的示例代码
2022/06/05 Servers