利用Python发送邮件或发带附件的邮件
作者:元芳啊 时间:2023-01-17 12:40:31
本文使用的是163邮件进行测试。
注:163邮箱现在需要使用 客户端授权码 进行测试,不再支持邮箱密码进行测试。
1、使用Python发Text 邮件
import smtplib
# 发送字符串的邮件
from email.mime.text import MIMEText
# 设置服务器所需信息
fromEmailAddr = '发件人邮箱地址' # 邮件发送方邮箱地址
password = 'email password' # 密码(部分邮箱为授权码)
toEmailAddrs = ['接收方地址'] # 邮件接受方邮箱地址,注意需要[]包裹,这意味着你可以写多个邮件地址群发
# 设置email信息
# ---------------------------发送字符串的邮件-----------------------------
# 邮件内容设置
message = MIMEText('hello,test Python send Email.', 'plain', 'utf-8')
# 邮件主题
message['Subject'] = 'python test email'
# 发送方信息
message['From'] = fromEmailAddr
# 接受方信息
message['To'] = toEmailAddrs[0]
# ---------------------------------------------------------------------
# 登录并发送邮件
try:
server = smtplib.SMTP('smtp.163.com') # 163邮箱服务器地址,端口默认为25
server.login(fromEmailAddr, password)
server.sendmail(fromEmailAddr, toEmailAddrs, message.as_string())
print('success')
server.quit()
except smtplib.SMTPException as e:
print("error:", e)
2、使用Python发送带附件的邮件
import smtplib
# 发送字符串的邮件
from email.mime.text import MIMEText
# 需要 MIMEMultipart 类
from email.mime.multipart import MIMEMultipart
# 设置服务器所需信息
fromEmailAddr = '发件人邮箱地址' # 邮件发送方邮箱地址
password = 'email password' # 密码(部分邮箱为授权码)
toEmailAddrs = ['收件人地址'] # 邮件接受方邮箱地址,注意需要[]包裹,这意味着你可以写多个邮件地址群发
# 设置email信息
# ---------------------------发送带附件邮件-----------------------------
# 邮件内容设置
message = MIMEMultipart()
# 邮件主题
message['Subject'] = 'python test email'
# 发送方信息
message['From'] = fromEmailAddr
# 接受方信息
message['To'] = toEmailAddrs[0]
# 邮件正文内容
message.attach(MIMEText('hello,test Python send Email', 'plain', 'utf-8'))
# 构造附件
att1 = MIMEText(open('text.txt', 'rb').read(), 'base64', 'utf-8')
att1['Content-type'] = 'application/octet-stream'
att1['Content-Disposition'] = 'attachment; filename="test.zip"'
message.attach(att1)
# ---------------------------------------------------------------------
# 登录并发送邮件
try:
server = smtplib.SMTP('smtp.163.com') # 163邮箱服务器地址,端口默认为25
server.login(fromEmailAddr, password)
server.sendmail(fromEmailAddr, toEmailAddrs, message.as_string())
print('success')
server.quit()
except smtplib.SMTPException as e:
print("error:", e)
来源:https://www.cnblogs.com/liuyuanfang/p/13928926.html
标签:python,发送,附件,邮件
0
投稿
猜你喜欢
python实现linux下抓包并存库功能
2022-12-23 20:22:06
Python模块/包/库安装的六种方法及区别
2021-11-03 15:53:56
Python搭建代理IP池实现接口设置与整体调度
2023-05-25 11:52:03
python matplotlib.pyplot.plot()参数用法
2023-07-13 17:39:48
Django多层嵌套ManyToMany字段ORM操作详解
2023-07-01 02:26:28
详细介绍Ruby中的正则表达式
2023-12-03 19:44:46
Dreamweaver MX 2004 试用心得
2010-03-25 12:21:00
Python如何在DataFrame增加数值
2021-07-23 12:56:29
Python实现的求解最小公倍数算法示例
2022-12-11 04:50:03
vue.set向对象里增加多层数组属性不生效问题及解决
2024-05-09 10:52:12
Python-while 计算100以内奇数和的方法
2022-03-24 12:00:39
如何解决从文本文件中调出记录出现丢失换行的问题?
2009-12-03 20:25:00
python实现学员管理系统(面向对象版)
2022-04-08 12:55:32
Linux PHP连接MSSQL
2011-06-02 12:01:00
mysql中#{}和${}的区别详解
2024-01-12 21:37:17
Python中动态获取对象的属性和方法的教程
2022-07-12 07:01:20
python 专题九 Mysql数据库编程基础知识
2024-01-19 23:06:04
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2024-05-03 15:13:22
python+selenium实现登录账户后自动点击的示例
2021-07-26 05:40:21
python多进程中的内存复制(实例讲解)
2022-01-20 23:34:46