我有一個file.txt文件,它有很多行。我希望隨機選擇任意一行並通過電子郵件發送。這是三次循環。Python server.sendmail()返回{}。電子郵件沒有發送
import smtplib,datetime,random
def mail(em):
#print "yo"
fromAddress = "[email protected]"
toAddress = "[email protected]"
subject = "WOW " + str(datetime.datetime.now())
#print subject
msg = em
server=smtplib.SMTP("smtp.gmail.com", 587)
server.starttls()
password = "mypassword"
server.login(fromAddress, password)
server.sendmail(fromAddress, toAddress, msg)
#print server.sendmail(fromAddress, toAddress, msg)
for i in range(0,3):
em=str(random.choice(list(open('file.txt'))))
mail(em)
此代碼不起作用。登錄和一切都很好。我注意到的唯一問題是server.sendmail(fromAddress,toAddress,msg)返回一個空的{} 可能的解決方法是什麼?第一個問題是什麼? 我已經在終端中運行mail()函數,似乎工作正常。 所有文件都託管here
你爲什麼發佈你的密碼? – Hackaholic 2014-11-14 22:56:05
它被_supposed_返回一個空的'{}'。請參閱[文檔](https://docs.python.org/2/library/smtplib.html#smtplib.SMTP.sendmail):「如果此方法不引發異常,它將返回一個字典,其中一個條目用於每個收件人都被拒絕了。「所以,這意味着你沒有錯誤。 – abarnert 2014-11-14 22:57:53
@Geez!我忘了在腳本中改變它。無論如何,它不是一個重要的帳戶,因此 – user248884 2014-11-14 22:58:25