我正在尝试使用smtplib库发送电子邮件。它工作正常,但如果我的消息包含一个固定字符串+变量,它就不起作用。
这是我的代码:
destinationEmail = 'destination@gmail.com'
server = smtplib.SMTP("smtp.gmail.com", 587)
server.starttls()
server.login("me@gmail.com", "password")
message = f"I am sending this variable: {variableName}"
server.sendmail("me@gmail.com", destinationEmail, message)
使用上面的代码是不起作用的。我也尝试过使用这种格式的消息:
message = "I am sending this variable: " + variableName
它也不起作用。如果我的消息没有变量,它会成功发送,比如:
message = "testing"
我尝试过的另一件事是单独发送变量,比如:
message = variableName
这很管用!所以我真的很困惑这里出了什么问题。它似乎不想发送具有固定字符串+变量的消息。顺便说一句,我使用的变量是字符串类型的。即使我在变量周围使用str((,它也不起作用。
这通常是一个版本问题,但你总是可以用你的f-string代替message = "I am sending this variable: {}".format(variable_name)
,这对我很有效。
答案就在这里:如何在python3中使用smtplib通过电子邮件发送变量值?
使用MIMEText构造消息(主题为"from"one_answers"to"(@逃税者对这件事说得对。我想这需要一个主题。