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实现批量重命名文件的代码
May 25 Python
Python里隐藏的“禅”
Jun 16 Python
Python利用BeautifulSoup解析Html的方法示例
Jul 30 Python
Python3实现购物车功能
Apr 18 Python
基于pip install django失败时的解决方法
Jun 12 Python
python skimage 连通性区域检测方法
Jun 21 Python
python爬虫之urllib3的使用示例
Jul 09 Python
Python中一般处理中文的几种方法
Mar 06 Python
Python爬虫图片懒加载技术 selenium和PhantomJS解析
Sep 18 Python
pandas按行按列遍历Dataframe的几种方式
Oct 23 Python
一篇文章教你用python画动态爱心表白
Nov 22 Python
Python实现网络聊天室的示例代码(支持多人聊天与私聊)
Jan 27 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
PHP Switch 语句之学习笔记
2013/09/21 PHP
php获取本机真实IP地址实例代码
2016/03/31 PHP
PHP简单实现DES加密解密的方法
2016/07/12 PHP
php 修改上传文件大小限制实例详解
2016/10/23 PHP
IE 缓存策略的BUG的解决方法
2007/07/21 Javascript
javascript 读取XML数据,在页面中展现、编辑、保存的实现
2009/10/27 Javascript
不同浏览器的怪癖小结
2010/07/11 Javascript
NodeJS的url截取模块url-extract的使用实例
2013/11/18 NodeJs
PHP PDO操作总结
2014/11/17 Javascript
javascript数组去重方法汇总
2015/04/23 Javascript
Vue-router 类似Vuex实现组件化开发的示例
2017/09/15 Javascript
node.js中http模块和url模块的简单介绍
2017/10/06 Javascript
form表单数据封装成json格式并提交给服务器的实现方法
2017/12/14 Javascript
Vue.js做select下拉列表的实例(ul-li标签仿select标签)
2018/03/02 Javascript
[02:41]DOTA2英雄基础教程 谜团
2013/12/10 DOTA
Python中Class类用法实例分析
2015/11/12 Python
python如何使用unittest测试接口
2018/04/04 Python
从运行效率与开发效率比较Python和C++
2018/12/14 Python
python 爬取古诗文存入mysql数据库的方法
2020/01/08 Python
Python响应对象text属性乱码解决方案
2020/03/31 Python
PyCharm2019.3永久激活破解详细图文教程,亲测可用(不定期更新)
2020/10/29 Python
CSS3中几个新增加的盒模型属性使用教程
2016/03/01 HTML / CSS
使用Html5多媒体实现微信语音功能
2019/07/26 HTML / CSS
详解如何解决H5开发使用wx.hideMenuItems无效果不生效
2021/01/20 HTML / CSS
洲际酒店集团美国官网:IHG美国
2017/11/16 全球购物
Lookfantastic意大利官网:英国知名美妆购物网站
2019/05/31 全球购物
Carrs Silver官网:英国著名的银器品牌
2020/08/29 全球购物
园林设计师自荐信
2013/11/18 职场文书
董事长岗位职责
2013/11/30 职场文书
初中三好学生事迹材料
2014/01/13 职场文书
结婚保证书范文
2014/04/29 职场文书
大学生社会实践活动总结
2014/07/03 职场文书
教师节简报
2015/07/20 职场文书
Python机器学习之KNN近邻算法
2021/05/14 Python
浅谈MySQL表空间回收的正确姿势
2021/10/05 MySQL
vue+iview实现手机号分段输入框
2022/03/25 Vue.js