用python写能发送带附件的复杂邮件的程序
时间: 2023-02-06 20:25:41 浏览: 65
好的,下面是用 Python 发送带附件的复杂邮件的程序示例:
```
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders
# 设置发件人、收件人和邮件标题
fromaddr = "发件人邮箱地址"
toaddr = "收件人邮箱地址"
msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = toaddr
msg['Subject'] = "邮件标题"
# 邮件正文
body = "这是邮件正文"
msg.attach(MIMEText(body, 'plain'))
# 添加附件
filename = "附件文件名"
attachment = open("附件文件路径", "rb")
part = MIMEBase('application', 'octet-stream')
part.set_payload((attachment).read())
encoders.encode_base64(part)
part.add_header('Content-Disposition', "attachment; filename= %s" % filename)
msg.attach(part)
# 登录并发送邮件
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(fromaddr, "发件人邮箱密码")
text = msg.as_string()
server.sendmail(fromaddr, toaddr, text)
server.quit()
```
这段代码使用了 Python 的 `smtplib` 模块和 `email` 库。它可以使用 Gmail 的 SMTP 服务器发送邮件,也可以使用其他邮件服务器,只需要修改代码中的 SMTP 服务器地址和端口号即可。
需要注意的是,使用 Gmail 发送邮件需要在帐号设置中开启允许安全性较低的应用访问帐号的功能,否则会提示登录