【发布时间】:2021-03-29 02:24:39
【问题描述】:
我想使用 python 脚本通过我的工作电子邮件地址发送计算机生成的电子邮件。我找到的所有教程都是关于 Gmail 帐户的。
【问题讨论】:
标签: python python-3.x email smtp smtplib
我想使用 python 脚本通过我的工作电子邮件地址发送计算机生成的电子邮件。我找到的所有教程都是关于 Gmail 帐户的。
【问题讨论】:
标签: python python-3.x email smtp smtplib
您可以使用 gmail smtplib 发送 pdf 文件和 html
1- 在 gmail 应用中允许安全性较低的应用
2- 使用 smtplib 发送邮件
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.message import EmailMessage
from email.mime.base import MIMEBase
from email import encoders
filename = "filename.pdf"
receivers = ["receiver@gmail.com"]
subject= "Email subject"
server = smtplib.SMTP('smtp.gmail.com', 587)
message = MIMEMultipart()
message["From"] = "Me"
message['To'] = '_'.join(receivers)
message["Subject"] = subject
with open(filename, "rb") as attachment:
part = MIMEBase("application", "octet-stream")
part.set_payload(attachment.read())
encoders.encode_base64(part)
part.add_header(
"Content-Disposition",
f"attachment; filename= {filename}",
)
html = """\
<p>
HTML data
</P>
"""
message.attach(part)
message.attach(MIMEText(html, "html"))
message = message.as_string()
# start TLS for security user_to
server.starttls()
# Authentication
server.login("me@gmail.com", "password")
sender = "email"
try:
server.sendmail(sender, receivers, message)
except Exception as e:
raise e
【讨论】: