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 当前全局变量和入口参数的所有属性
Jul 01 Python
Python入门篇之面向对象
Oct 20 Python
在Python中操作时间之mktime()方法的使用教程
May 22 Python
Python中对元组和列表按条件进行排序的方法示例
Nov 10 Python
Python面向对象之继承和组合用法实例分析
Aug 27 Python
Python寻找路径和查找文件路径的示例
Jul 10 Python
python scipy卷积运算的实现方法
Sep 16 Python
基于Django统计博客文章阅读量
Oct 29 Python
使用PyTorch将文件夹下的图片分为训练集和验证集实例
Jan 08 Python
python实现在内存中读写str和二进制数据代码
Apr 24 Python
Django中和时区相关的安全问题详解
Oct 12 Python
python中subplot大小的设置步骤
Jun 28 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实现支持GET,POST,Multipart/form-data的HTTP请求类
2014/09/24 PHP
PHP屏蔽关键字实现方法
2016/11/17 PHP
PHP 文件上传限制问题
2019/09/01 PHP
laravel-admin 实现在指定的相册下添加照片
2019/10/21 PHP
jquery如何把数组变为字符串传到服务端并处理
2014/04/30 Javascript
JavaScript中的Math.LOG2E属性使用详解
2015/06/14 Javascript
js限制input标签中只能输入中文
2015/06/26 Javascript
Node.js中Request模块处理HTTP协议请求的基本使用教程
2016/03/31 Javascript
JQuery 的跨域方法推荐_可跨任何网站
2016/05/18 Javascript
vue.js学习之UI组件开发教程
2017/07/03 Javascript
vue ssr 实现方式(学习笔记)
2019/01/18 Javascript
微信小程序实现获取准确的腾讯定位地址功能示例
2019/03/27 Javascript
cordova+vue+webapp使用html5获取地理位置的方法
2019/07/06 Javascript
[02:28]DOTA2英雄基础教程 狼人
2013/12/23 DOTA
[01:20]PWL S2开团时刻第三期——团战可以输 蝙蝠必须死
2020/11/26 DOTA
python 正则式使用心得
2009/05/07 Python
Python break语句详解
2014/03/11 Python
python中函数默认值使用注意点详解
2016/06/01 Python
python将ansible配置转为json格式实例代码
2017/05/15 Python
python 实现矩阵按对角线打印
2019/11/29 Python
Pytorch释放显存占用方式
2020/01/13 Python
使用卷积神经网络(CNN)做人脸识别的示例代码
2020/03/27 Python
基于django和dropzone.js实现上传文件
2020/11/24 Python
使用CSS3来匹配横屏竖屏的简单方法
2015/08/04 HTML / CSS
css3针对移动端卡顿问题的解决(动画性能优化)
2020/02/14 HTML / CSS
意大利奢侈品零售商:ilDuomo Novara
2019/09/11 全球购物
生物学学生自我评价
2014/01/17 职场文书
弘扬职业精神演讲稿
2014/03/20 职场文书
化学教育专业自荐信
2014/07/04 职场文书
高校师德师风自我剖析材料
2014/09/29 职场文书
新郎新娘致辞
2015/07/31 职场文书
考试后的感想
2015/08/07 职场文书
迎国庆主题班会
2015/08/17 职场文书
比赛口号霸气押韵
2015/12/24 职场文书
JavaScript如何优化逻辑判断代码详解
2021/06/08 Javascript
Python加密技术之RSA加密解密的实现
2022/04/08 Python