【发布时间】:2020-08-10 16:53:23
【问题描述】:
我是 Python 的新手。我正在尝试这样做,以便我可以打开一个 csv,如果 csv 的姓氏与 pdf 文件的姓氏匹配,它会自动发送到该电子邮件地址。
这样做的原因是我必须每两周向人们发送大约 150 个工资单,而且我知道必须有一种方法可以自动化它。我找到了几个展示如何阅读 csv 文件的地方,我正在努力阅读和匹配 pdf 文件。
这是我目前所拥有的。肯定有一些错误。
import smtplib, ssl
from email import encoders
from email.mime.base import MIMEBase
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
smtp_server = "smtp.gmail.com"
port = 465
sender = "@@@gmail.com"
password = input("enter password here")
receiver = "testtest@gmail.com"
message = MIMEMultipart("Multipart Test")
message['Subject'] = 'Pay stub'
message['From'] = sender
message['To'] = receiver
text = """\
Hey,
Here is your pay stub. If you have any corrections please let me know ASAP.
Thanks
"""
html= """\
<html>
<body>
<p>Hey,
Here is your pay stub. If you have any corrections please let me know ASAP.
Thanks
</p>
</body>
</html>
"""
part1 = MIMEText(text, 'plain')
part2 = MIMEText(html, "html")
filename="cg_email"
with open(filename, "rb") as attachment:
part_a = MIMEBase('application', 'octet-stream')
part_a.set_payload(attachment.read()
encoders.encode_base64(part_a)
part_a.add_header(
'Content Disposition',
f'attachment; filename={filename}'
)
message.attach(part1)
message.attach(part2)
message.attach(part_a)
context= ssl.create_default_context()
with smtplib.SMTP_SSL(smtp_server, port, context=context) as server
【问题讨论】:
-
你有什么问题?
-
如何制作它,以便我可以读取 csv 并将离散的 pdf 文件连同他们的信息一起发送给每个员工。例如,我希望能够读取 csv Bob Smith,然后让脚本查看电子邮件地址,然后找到相应的 pdf 文件,然后将其通过电子邮件发送给 Bob Smith。
-
你尝试过什么做你想做的事?您的问题似乎是关于读取 CSV 文件,您的示例是发送电子邮件。
-
对,我想从一个csv文件中读取,将csv文件中的姓与pdf文件对应的姓匹配,然后我希望它发送一封附有pdf的电子邮件到 csv 文件中存储的电子邮件。
标签: python python-3.x csv pdf