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 sqlobject(mysql)中文乱码解决方法
Nov 14 Python
python教程之用py2exe将PY文件转成EXE文件
Jun 12 Python
跟老齐学Python之编写类之三子类
Oct 11 Python
python刷投票的脚本实现代码
Nov 08 Python
python如何实现反向迭代
Mar 20 Python
win10 64bit下python NLTK安装教程
Sep 19 Python
Python学习笔记之文件的读写操作实例分析
Aug 07 Python
python中的线程threading.Thread()使用详解
Dec 17 Python
jupyter 导入csv文件方式
Apr 21 Python
Python3爬虫中关于中文分词的详解
Jul 29 Python
python判断变量是否为列表的方法
Sep 17 Python
怎么用Python识别手势数字
Jun 07 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
用session做客户验证时的注意事项
2006/10/09 PHP
php修改时间格式的代码
2011/05/29 PHP
PHP中的strtr函数使用介绍(str_replace)
2011/10/20 PHP
PHP删除非空目录的函数代码小结
2013/02/28 PHP
PHP面向对象程序设计之命名空间与自动加载类详解
2016/12/02 PHP
laravel实现查询最后执行的一条sql语句的方法
2019/10/09 PHP
禁用Enter键表单自动提交实现代码
2014/05/22 Javascript
jquery实现侧边弹出的垂直导航
2014/12/09 Javascript
一张Web前端的思维导图分享
2015/07/03 Javascript
window.onload绑定多个事件的两种解决方案
2016/05/15 Javascript
javascript的几种写法总结
2016/09/30 Javascript
js实现上传文件添加和删除文件选择框
2016/10/24 Javascript
jQuery实现frame之间互通的方法
2017/06/26 jQuery
jQuery Form插件使用详解_动力节点Java学院整理
2017/07/17 jQuery
vuejs点击class变化的实例
2018/09/05 Javascript
axios取消请求的实践记录分享
2018/09/26 Javascript
使用layui+ajax实现简单的菜单权限管理及排序的方法
2019/09/10 Javascript
[01:32]TI奖金增速竟因它再创新高!DOTA2勇士令状不朽珍藏Ⅰ饰品欣赏
2018/05/18 DOTA
[01:04:05]Mineski vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
使用Python脚本操作MongoDB的教程
2015/04/16 Python
Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享
2016/07/04 Python
python之当你发现QTimer不能用时的解决方法
2019/06/21 Python
Django中的session用法详解
2020/03/09 Python
Python参数传递实现过程及原理详解
2020/05/14 Python
如何在mac版pycharm选择python版本
2020/07/21 Python
Django2.1.7 查询数据返回json格式的实现
2020/12/29 Python
英国排名第一的宠物店:PetPlanet
2020/02/02 全球购物
企业道德讲堂实施方案
2014/03/19 职场文书
2014企业领导班子四风对照检查材料思想汇报
2014/09/17 职场文书
幼师个人总结范文
2015/02/28 职场文书
2015年大学班主任工作总结
2015/04/30 职场文书
初中毕业感言300字
2015/07/31 职场文书
导游词之山西祁县乔家大院
2019/10/14 职场文书
python中pandas.read_csv()函数的深入讲解
2021/03/29 Python
如何将JavaScript将数组转为树形结构
2021/06/02 Javascript
elasticSearch-api的具体操作步骤讲解
2021/06/28 Java/Android