我对编程很陌生,所以我来这里寻求帮助。我正在尝试做一个简单的群发邮件的乐趣,目前不会使用这个,但在未来的某个时候,我可能会在我的IT工作。我的代码似乎不想为我工作。在
import sys
import smtplib
emailfile = raw_input('Please enter the name of the text file that includes all email addresses: ')
emailtosendfrom = raw_input('Enter your email address to send from: ')
msgfile = raw_input('Please enter the text file name that includes the message you want to send out :')
email = open(emailfile, 'r')
toaddrs = email
msg = open(msgfile, 'r')
# Credentials
password = raw_input('Please enter your email password : ')
# Send mail
server = smtplib.SMTP('smtp.gmail.com:587')
server.ehlo()
server.starttls()
server.login(emailtosendfrom,password)
with open(emailfile) as f:
emailsort = f.readlines()
for user in emailsort:
server.sendmail(emailtosendfrom, user, msg)
f.close()
server.quit()
此代码返回错误:
^{pr2}$任何帮助都将不胜感激。谢谢!在
消息应该是字符串,而不是文件。首先通过替换获得消息体:
有:
^{pr2}$然后用以下方法修复循环:
虽然与这个问题没有直接关系,但我有两个问题:
with
块中。除了关闭文件句柄外,他们还将明确文件的实际使用位置。在email = open(emailfile, 'r')
和{最后,您可以替换:
有:
但是一定要去掉最后一个
\n
(否则电子邮件地址将是错误的)。在相关问题 更多 >
编程相关推荐