【发布时间】:2021-11-03 01:26:43
【问题描述】:
我是一名初级程序员,我正在尝试编写一个程序,该程序会自动将个性化电子邮件发送到带有 pdf 附件的 csv 文件中的接收者列表。
我当前的代码发送个性化电子邮件,但我不知道如何添加附件。另外,我认为在函数中编写程序是最佳实践,但我也不知道该怎么做。
如果有人可以帮助我,将不胜感激。另外,我想让它尽可能简单,以便我仍然了解每一行代码的作用。
import os
import smtplib, ssl
import csv
# Sender credentials (from environment variables)
email_address = os.environ.get("email_user")
email_pass = os.environ.get("email_app_pass")
context = ssl.create_default_context()
with smtplib.SMTP_SSL("smtp.gmail.com", 465, context=context) as server:
server.login(email_address, email_pass) # Log into sender email account
# Email information
subject = "Testing Python Automation"
body = """ Hi {name},\n\n This email was entirely generated in Python. So cool!
"""
msg = f"Subject: {subject}\n\n{body}"
with open("contacts_test.csv") as file:
reader = csv.reader(file)
next(reader) # Skip header row
for name, email in reader:
server.sendmail(email_address, email, msg.format(name=name))
file.close()
server.quit()
【问题讨论】:
-
您是否查找过有关如何使用 Python 发送带有附件的电子邮件的示例? stackoverlfow上这里也有类似的问题,比如stackoverflow.com/questions/3362600/…或stackoverflow.com/questions/11921188/…或stackoverflow.com/questions/9541837/…等
-
是的,但是那些通常对收件人进行硬编码,而我想自动向收件人的 csv 列表发送几封电子邮件。
标签: python python-3.x email