python实现发送邮件及附件功能


Posted in Python onMarch 02, 2021

今天给大伙说说python发送邮件,官方的多余的话自己去百度好了,还有一大堆文档说实话不到万不得已的时候一般人都不会去看,回归主题:

本人是mac如果没有按照依赖模块的请按照下面的截图安装

python实现发送邮件及附件功能

导入模块如果没有错误,表示已经安装成功。

Python发送一个未知MIME类型的文件附件其基本思路如下:

1. 构造MIMEMultipart对象做为根容器
2. 构造MIMEText对象做为邮件显示内容并附加到根容器
3. 构造MIMEBase对象做为文件附件内容并附加到根容器

a. 读入文件内容并格式化

b. 设置附件头
4. 设置根容器属性
5. 得到格式化后的完整文本
6. 用smtp发送邮件

实例代码:

#!/usr/bin/env python
 # -*- coding:utf-8 -*-
 
 import smtplib
 from email.mime.multipart import MIMEMultipart
 from email.mime.text import MIMEText
 from email.mime.application import MIMEApplication
 
 class Mailer(object):
 def __init__(self,maillist,mailtitle,mailcontent):
  self.mail_list = maillist
  self.mail_title = mailtitle
  self.mail_content = mailcontent
 
  self.mail_host = "smtp.163.com"
  self.mail_user = "your email name"
  self.mail_pass = "your email password"
  self.mail_postfix = "163.com"
 
 def sendMail(self):
 
  me = self.mail_user + "<" + self.mail_user + "@" + self.mail_postfix + ">"
  msg = MIMEMultipart()
  msg['Subject'] = 'Python mail Test'
  msg['From'] = me
  msg['To'] = ";".join(self.mail_list)
 
  #puretext = MIMEText('<h1>你好,<br/>'+self.mail_content+'</h1>','html','utf-8')
  puretext = MIMEText('纯文本内容'+self.mail_content)
  msg.attach(puretext)
 
  # jpg类型的附件
  jpgpart = MIMEApplication(open('/home/mypan/1949777163775279642.jpg', 'rb').read())
  jpgpart.add_header('Content-Disposition', 'attachment', filename='beauty.jpg')
  msg.attach(jpgpart)
 
  # 首先是xlsx类型的附件
  #xlsxpart = MIMEApplication(open('test.xlsx', 'rb').read())
  #xlsxpart.add_header('Content-Disposition', 'attachment', filename='test.xlsx')
  #msg.attach(xlsxpart)
 
  # mp3类型的附件
  #mp3part = MIMEApplication(open('kenny.mp3', 'rb').read())
  #mp3part.add_header('Content-Disposition', 'attachment', filename='benny.mp3')
  #msg.attach(mp3part)
 
  # pdf类型附件
  #part = MIMEApplication(open('foo.pdf', 'rb').read())
  #part.add_header('Content-Disposition', 'attachment', filename="foo.pdf")
  #msg.attach(part)
 
  try:
  s = smtplib.SMTP() #创建邮件服务器对象
  s.connect(self.mail_host) #连接到指定的smtp服务器。参数分别表示smpt主机和端口
  s.login(self.mail_user, self.mail_pass) #登录到你邮箱
  s.sendmail(me, self.mail_list, msg.as_string()) #发送内容
  s.close()
  return True
  except Exception, e:
  print str(e)
  return False
 
 
 if __name__ == '__main__':
 #send list
 mailto_list = ["aaa@lsh123.com","bbb@163.com"]
 mail_title = 'Hey subject'
 mail_content = 'Hey this is content'
 mm = Mailer(mailto_list,mail_title,mail_content)
 res = mm.sendMail()
 print res

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python装饰器使用方法实例
Nov 21 Python
Python守护线程用法实例
Jun 23 Python
Python3.4实现从HTTP代理网站批量获取代理并筛选的方法示例
Sep 26 Python
Python操作mysql数据库实现增删查改功能的方法
Jan 15 Python
Python将文本去空格并保存到txt文件中的实例
Jul 24 Python
python爬取微信公众号文章的方法
Feb 26 Python
python创建学生成绩管理系统
Nov 22 Python
Python 生成一个从0到n个数字的列表4种方法小结
Nov 28 Python
Python socket处理client连接过程解析
Mar 18 Python
Python基于pyecharts实现关联图绘制
Mar 27 Python
django 外键创建注意事项说明
May 20 Python
基于Python制作一副扑克牌过程详解
Oct 19 Python
利用python微信库itchat实现微信自动回复功能
May 18 #Python
利用Python读取文件的四种不同方法比对
May 18 #Python
Python爬虫实现网页信息抓取功能示例【URL与正则模块】
May 18 #Python
Python使用time模块实现指定时间触发器示例
May 18 #Python
Python实现的文本简单可逆加密算法示例
May 18 #Python
Python操作MongoDB详解及实例
May 18 #Python
Python 迭代器与生成器实例详解
May 18 #Python
You might like
经典的PHPer为什么被认为是草根?
2007/04/02 PHP
PHP 获取MySQL数据库里所有表的实现代码
2011/07/13 PHP
php设置session值和cookies的学习示例
2014/03/21 PHP
Yii CGridView用法实例详解
2016/07/12 PHP
js屏蔽鼠标键盘(右键/Ctrl+N/Shift+F10/F11/F5刷新/退格键)
2013/01/24 Javascript
jquery自定义类似$.ajax()的方法实现代码
2013/08/13 Javascript
JS实现两个大数(整数)相乘
2014/04/28 Javascript
javascript产生随机数方法汇总
2016/01/25 Javascript
vue.js实现仿原生ios时间选择组件实例代码
2016/12/21 Javascript
jQuery实现多张图片上传预览(不经过后端处理)
2017/04/29 jQuery
基于javaScript的this指向总结
2017/07/22 Javascript
JS判断用户用的哪个浏览器实例详解
2018/10/09 Javascript
详解Vue一个案例引发「内容分发slot」的最全总结
2018/12/02 Javascript
微信小程序发布新版本时自动提示用户更新的方法
2019/06/07 Javascript
开源一个微信小程序仪表盘组件过程解析
2019/07/30 Javascript
Vue中消息横向滚动时setInterval清不掉的问题及解决方法
2019/08/23 Javascript
ES6中let、const的区别及变量的解构赋值操作方法实例分析
2019/10/15 Javascript
jsonp格式前端发送和后台接受写法的代码详解
2019/11/07 Javascript
vue项目配置同一局域网可使用ip访问的操作
2020/10/23 Javascript
python异常和文件处理机制详解
2016/07/19 Python
python和flask中返回JSON数据的方法
2018/03/26 Python
Python抽象和自定义类定义与用法示例
2018/08/23 Python
用Python+OpenCV对比图像质量的几种方法
2019/07/15 Python
python如何调用字典的key
2020/05/25 Python
一款纯css3实现的非常实用的鼠标悬停特效演示
2014/11/05 HTML / CSS
一款恶搞头像特效的制作过程 利用css3和jquery
2014/11/21 HTML / CSS
美国美发品牌:Bumble and Bumble
2016/10/08 全球购物
世界上最大的二手相机店:KEN
2017/05/17 全球购物
优秀团员个人的自我评价
2013/10/02 职场文书
2015年银行信贷员工作总结
2015/05/19 职场文书
出纳试用期工作总结2015
2015/05/28 职场文书
2016学习全国教书育人楷模先进事迹心得体会
2016/01/21 职场文书
《槐乡的孩子》教学反思
2016/02/20 职场文书
MySQL 覆盖索引的优点
2021/05/19 MySQL
Python实现单例模式的5种方法
2021/06/15 Python
「租借女友」第2季樱泽墨角色PV&新视觉图公开
2022/03/21 日漫