【发布时间】:2017-09-20 13:50:36
【问题描述】:
我编写了以下代码来发送一封电子邮件,该电子邮件只是将“测试”发送到指定的电子邮件地址。
import smtplib
sentFrom = "my email"
to = input("Enter email: ")
#numberEmails = raw_input ("Enter number of emails to send")
messageText = "test"
msg = "From: %s\n To: %s\n\n%s" % (sentFrom, to, messageText)
username = str("my email")
password = str("my password")
try :
server = smtplib.SMTP("smtp.gmail.com", 587)
server.ehlo()
server.starttls()
server.login(username,password)
server.sendmail(sentFrom, to, msg)
server.quit()
print (" Email has sent")
except :
print("email NOT sent")
当我尝试发送多于 1 封电子邮件时,例如:
5*server.sendmail(sentFrom, to, msg)
只发送一封电子邮件,然后我收到错误“未发送电子邮件”。在第一封电子邮件发送后,我没有收到“电子邮件已发送”,在第一封电子邮件之后只有“电子邮件未发送”打印。我该如何解决这个问题?我希望最终有一个 input() 以便我可以输入要发送的电子邮件数量,并且程序会发送输入到输入中的电子邮件数量。我把我认为这看起来像评论的方式放在顶部。我可以将 server.sendmail 命令乘以 numberEmails 命令吗?
这是我使用 Python 的第一天,所以请放轻松。 :)
【问题讨论】:
标签: python email gmail smtplib