登 录
注 册
< 编程语言
Python
Java
Go
SQL
数据结构与算法
极速安装
线程同步与信号量
生产者消费者
Python调用Java
Python自动发送邮件
数据导出工具
热门推荐>>>
中台架构
中台建设与架构
Hadoop
源码分析-NN启动(三)
HBase
HBased对接Hive
Linux
Nginx高可用
Flink
3分钟搭建Flink SQL测试环境
Kafka
Kafka对接Flume
深度学习
卷积神经网络
数据结构与算法
选择合适的算法
MySQL
数据备份恢复
计算机系统
信号量同步线程
Hive
Hive调优参数大全
其他框架
Azkaban Flow1.0与2.0
ClickHouse
表引擎-其他类型
技术成长
最好的职业建议
精选书单
技术成长书单—机器学习
技术资讯
数据在线:计算将成为公共服务
开发工具
IntelliJ IDEA 20年发展回顾(二)
系统工具
Mac命令行工具
虚拟化
内存虚拟化概述
云原生
云原生构建现代化应用
云服务
一文搞懂公有云、私有云...
Java
Spring Boot依赖注入与Runners
Go
Go函数与方法
SQL
SQL模板
安全常识
一文读懂SSO
当前位置:
首页
>>
Python
>>
Python自动发送邮件
Python自动发送邮件
2020-07-04 11:22:03 星期六 阅读:1959
![](/static/images/article_images/1693753855.759051.jpeg) Python提供了非常简单的第三方库支持普通邮件的发送,同时也支持带附件 ``` import smtplib from email import encoders from email.header import Header from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart , MIMEBase ##需要传入发送人的地址,登录密码,收件人的地址,邮件正文,邮件主题,附件的存放路径 def send_mail(self,From,password,To,text,subject,filepath): #构造一个邮件对象 message = MIMEMultipart() message["From"] = From message["To"] = To message["Subject"] = Header(str(subject),"utf-8").encode() #添加邮件正文 message.attach(MIMEText(str(text),"plain","utf-8")) try: #从本地读取附件文件 with open(filepath,"rb") as f : #创建一个附件对象,并描述其文件类型和文件名 mime = MIMEBase("text","plain",filename =("gbk","",filepath.split("/")[-1])) mime.add_header("Content-Disposition", "attachment", filename=("gbk","",filepath.split("/")[-1])) mime.add_header("Content-ID", "<0>") mime.add_header("X-Attachment-Id", "0") #把附件读取进已经描述好的附件对象里 mime.set_payload(f.read()) #用Base64编码附件对象 encoders.encode_base64(mime) #把附件添加到邮件对象 message.attach(mime) except Exception as e : print("附件添加失败--->",str(e)) #连接邮箱服务器 server = smtplib.SMTP("smtp.exmail.qq.com",25) try: #设置输出日志到控制台 #server.set_debuglevel(1) #登录邮箱 server.login(From,password) print("登录成功") #发送邮件 server.sendmail(From,To.split(","),message.as_string()) print("发送成功!") except Exception as e : print("发送失败--->",str(e)) finally: server.quit() ```