Python--发送邮件
import smtplib # 发邮件的from email.mime.text import MIMEText # 构造邮件内容的,对象 username = '18033551998@163.com'password = 'jiqiren123'msg = MIMEText('你好,快过年了,新年快乐!') # 邮件内容msg['Subject'] = '新年快乐' # 标题msg['From'] = '18033551998@163.com' # 谁发的msg['To'] = 'wangsilei@126.com' # 发给谁msg['Cc'] = '389688559@qq.com' # 抄送给谁 smtp = smtplib.SMTP('smtp.163.com', port=25) # 和邮箱服务器建立连接# smtp = smtplib.SMTP_SSL('smtp.11.com', port=465) # 发件箱是qq邮箱用这个smtp.login(username, password) # 登陆邮箱smtp.sendmail(username, 'wangsilei@126.com', msg.as_string()) # 谁发的 发给谁smtp.quit()print('发送成功!')
import smtplibfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipart username = '18033551998@163.com'email_host = 'smtp.163.com'passwd = 'jiqiren123'recv = '389688559@qq.com,wangsilei@126.com'title = '邮件标题'content = '发送邮件测试'msg = MIMEMultipart()file = 'url编码.py' # 附件的文件名att = MIMEText(open(file, encoding='utf-8').read()) # 构建一个附件的对象att["Content-Type"] = 'application/octet-stream'att["Content-Disposition"] = 'attachment; filename="%s"' % file # 这个是在邮件中显示的附件名msg.attach(att) # 把刚才创建好的附件,加到正文里面msg.attach(MIMEText('邮件的内容。。。。')) # 邮件正文的内容msg['Subject'] = title # 邮件主题msg['From'] = username # 发送者账号msg['To'] = recv # 接收者账号列表# smtp = smtplib.SMTP_SSL(email_host,port=456)#qq邮箱smtp = smtplib.SMTP(email_host, port=25) # 其他邮箱smtp.login(username, passwd)smtp.sendmail(username, recv, msg.as_string())smtp.quit() --------------------------------------------
import smtplibimport osfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartimport base64 # qq授权码# lfuhiziuplykbgdd# vavqwyhdvjdzcabhclass SendMail(object): def __init__(self, username, passwd, recv, title, content, file=None, ssl=False, email_host='smtp.qq.com', port=25, ssl_port=465): # :param username: 用户名 # :param passwd: 密码 # :param recv: 收件人,多个要传list ['a@qq.com','b@qq.com] # :param title: 邮件标题 # :param content: 邮件正文 # :param file: 附件路径,如果不在当前目录下,要写绝对路径,默认没有附件 # :param ssl: 是否安全链接,默认为普通 # :param email_host: smtp服务器地址,默认为163服务器 # :param port: 非安全链接端口,默认为25 # :param ssl_port: 安全链接端口,默认为465 self.username = username # 用户名 self.passwd = passwd # 密码 self.recv = recv # 收件人,多个要传list ['a@qq.com','b@qq.com] self.title = title # 邮件标题 self.content = content # 邮件正文 self.file = file # 附件路径,如果不在当前目录下,要写绝对路径 self.email_host = email_host # smtp服务器地址 self.port = port # 普通端口 self.ssl = ssl # 是否安全链接 self.ssl_port = ssl_port # 安全链接端口 # self.smtp = smtp def send_mail(self): msg = MIMEMultipart() # 发送内容的对象 if self.file: # 处理附件的 file_name = os.path.split(self.file)[-1] # 只取文件名,不取路径 try: f = open(self.file, 'rb').read() except Exception as e: raise Exception('附件打不开!', e) else: att = MIMEText(f, "base64", "utf-8") att["Content-Type"] = 'application/octet-stream' # base64.b64encode(file_name.encode()).decode() new_file_name = '=?utf-8?b?' + base64.b64encode(file_name.encode()).decode() + '?=' # 这里是处理文件名为中文名的,必须这么写 att["Content-Disposition"] = 'attachment; filename="%s"' % new_file_name msg.attach(att) msg.attach(MIMEText(self.content)) # 邮件正文的内容 msg['Subject'] = self.title # 邮件主题 msg['From'] = self.username # 发送者账号 msg['To'] = ','.join(self.recv) # 接收者账号列表 if self.ssl: self.smtp = smtplib.SMTP_SSL(self.email_host, port=self.ssl_port) else: self.smtp = smtplib.SMTP(self.email_host, port=self.port) # 发送邮件服务器的对象 self.smtp.login(self.username, self.passwd) try: self.smtp.sendmail(self.username, self.recv, msg.as_string()) pass except Exception as e: print('出错了。。', e) else: print('发送成功!') self.smtp.quit() if __name__ == '__main__': m = SendMail( username='389688559@qq.com', passwd='lfuhiziuplykbgdd', recv=['wangsilei@126.com', '511402865@qq.com'], title='过年好', content='新年快乐', file=r'C:\Users\Wang\Desktop\新年快乐.txt', ssl=True, ) m.send_mail()
转载于:https://www.cnblogs.com/wangsilei/p/8435973.html
Python--发送邮件相关推荐
- python邮件发送哪个好_最全总结!聊聊 Python 发送邮件的几种方式
1. 前言 邮件,作为最正式规范的沟通方式,在日常办公过程中经常被用到 我们都知道 Python内置了对 SMTP 的支持,可以发送纯文本.富文本.HTML 等格式的邮件 本文将聊聊利用 Python ...
- Python发送邮件smtplib.SMTP各报错问题的解决方法
Python发送邮件smtplib.SMTP各报错问题的解决方法 参考文章: (1)Python发送邮件smtplib.SMTP各报错问题的解决方法 (2)https://www.cnblogs.co ...
- 用Python发送邮件[zt]
用Python发送邮件 服务器需要周期性的检查邮件队列,然后通过smtp服务器发送出去,就网上搜了搜,然后修改了加工了一下,写了一个邮件发送的简单模块 两个文件 config.py:配置信息 send ...
- python发送邮件及附件
今天给大伙说说python发送邮件,官方的多余的话自己去百度好了,还有一大堆文档说实话不到万不得已的时候一般人都不会去看,回归主题: 本人是mac如果没有按照依赖模块的请按照下面的截图安装 导入模块如 ...
- Python发送邮件以及对其封装
Python发送邮件分为四步 连接到smtp服务器 登陆smtp服务器 准备邮件 发送邮件 导入所需要的包 import smtplib from email.mime.text import MIM ...
- python 发送邮件connect none_Python发送邮件功能示例【使用QQ邮箱】
本文实例讲述了Python发送邮件功能.分享给大家供大家参考,具体如下: 这里以QQ邮箱为例说明 登录邮箱点账号 开启smtp 开启时会要求你发送一条短信,发送完成后点已发送. 就有授权码了 代码如下 ...
- python 发送邮件的两种方式【终极篇】
python 发送邮件的两种方式[终极篇] 一,利用python自带的库 smtplib简单高效 from email.mime.multipart import MIMEMultipart from ...
- python自动截图发送邮件_PhantomJS按尺寸截取页面,并用python发送邮件
前言:当前有个任务是要把几个网站的日志返回状态码进行汇总,用饼图展示,并每天发送邮件. 一.分析问题 画出饼图,这个我用kibana给画出来了,下面不做讲解: 截取饼图,因为kibana是用js展示出 ...
- 最全总结!聊聊 Python 发送邮件的几种方式
1. 前言 邮件,作为最正式规范的沟通方式,在日常办公过程中经常被用到 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多已经做案例 ...
- flask-mail异步发送邮件_使用 python 发送邮件
使用 python 发送邮件,这个也没啥讲的,分享三种方式发送邮件,最后一种三行代码就可以发送邮件,是不是很爽啊,话不多说,直接上代码 第一种:正常发送邮件,也就是同步发送邮件 #!/usr/bin/ ...
最新文章
- 中国AI研究新突破,周六见!
- Windows系统进程全解剖
- java io复用_学习Java编程-IO复用
- Convex Hull (ACM-ICPC 2018 沈阳赛区网络预赛) 存个公式
- 干,认识Audio框架还因此发现一个雷
- java程序中验证框架四规则(初级知识)
- win10 自动修复不了无限循环的问题
- 基于MATLAB的银行卡号识别算法研究
- 使用abd工具查看安卓设备cpu处理器是32位或64位
- 安卓开发使用ttf文字_Android应用使用自定义字体
- 高德地图打包后不能使用,高德导航View不显示,高德地图导航组件黑屏的问题;
- 概率论与数理统计学习笔记——6.2统计量
- C++的重载(overload)与重写(override)
- 14期《未来,我来》1月刊
- 一群阿里码农的公益实践:用技术禁毒、打拐
- 百度爱采购开户及流程
- win10台式机屏幕亮度无法调节
- linux嵌入式系统开发心得,嵌入式学习牛人心得
- 如何用php农场项目,2020全新亲测php农场游戏源码-金币菇种植理财区块链源码 带商城系统...
- 国耀明医互联网医院:人体必需营养素维持平衡是关键
热门文章
- linux的NetworkManager服务(转)
- 《Visual Studio.NET Tips and Tricks》第一章的翻译
- [导入]Visual Studio 2005 Web Deployment Projects版本不同引发的问题
- 在storm中使用流
- Java输入/输出流体系中常用的流分类
- 服务器不稳定 如何让百度重新收录网站,教你如何让百度重新收录首页
- jsoup 去除html标签,如何使用jsoup取消注释html标签
- 远程主机http协议版本信息泄漏_Web基础之http协议
- B端产品经理要掌握的基本功
- 2021年Q1移动互联网行业数据研究报告