在函数中使用 smtplib 不会读取 To:、From: 和主题行



当我在函数外部运行代码时,所有内容都正确显示,但是当我将其添加到函数中时,主题,来往行和从行不会出现在电子邮件中

def change_other():
message = """
Subject: {Employee} -- Change -- Title Change
From: test@test.com
To: test@test.com

We have received a title update for {Employee}. 
Title: {Title}
Old: {Old}
New: {New}
Profit Center: {PC}
Supervisor: {Supervisor}

"""
from_address = "test@test.com"
password = "abc123"
smtp = smtplib.SMTP("smtp.office365.com",587)
context = ssl.create_default_context()
with smtplib.SMTP("smtp.office365.com",587) as server:
server.starttls(context=context)
server.login(from_address, password)
for i, r in db[field2].iterrows():     
server.sendmail(
from_address,
"test@test.com",
message.format(Employee=r["Employee Name"],
Old=r["Old Value"],
New=r["New Value"],
PC=r["PC"],
Title=r["Title"],
Email=r["Email"], 
Supervisor=r["Supervisor Name"]

)
)

这样做的目的是根据csv文件的特定输入发送不同的电子邮件。

我确实收到电子邮件,但他们只是缺少主题,在电子邮件中来回。身体表现得很好。

所以我通过测试弄清楚了这一点。在我的实际代码中,我选择了TO,FROM和SUBJECT。一旦我删除了它们并将它们与函数的开头对齐,它就起作用了。

相关内容

  • 没有找到相关文章

最新更新