Python 2.7—我使用smtplib向多人发送邮件,但发送的邮件中的主题行并没有反映在每封邮件中
我使用smtplib向多个用户发送邮件,我从Python 2.7—我使用smtplib向多人发送邮件,但发送的邮件中的主题行并没有反映在每封邮件中,python,smtplib,Python,Smtplib,我使用smtplib向多个用户发送邮件,我从mail.txt读取电子邮件ID,从names.txt文件读取收件人姓名,从subject.txt文件读取主题 不知何故,主题并没有反映在所有电子邮件中,只有最后发送的邮件有主题,而其他邮件没有。但是当我在每次迭代中打印主题时,我不知道为什么会发生这种情况。我试图更改收据的数量并进行检查,但问题没有解决。我还试图将import语句保持在循环之外。 你能帮我查一下这个密码吗 代码: ob1 = open("names.txt","r") fname =
mail.txt
读取电子邮件ID,从names.txt
文件读取收件人姓名,从subject.txt
文件读取主题
不知何故,主题并没有反映在所有电子邮件中,只有最后发送的邮件有主题,而其他邮件没有。但是当我在每次迭代中打印主题时,我不知道为什么会发生这种情况。我试图更改收据的数量并进行检查,但问题没有解决。我还试图将import语句保持在循环之外。
你能帮我查一下这个密码吗
代码:
ob1 = open("names.txt","r")
fname = ob1.readlines()
ob1.close()
ob2 = open("mail.txt","r")
email = ob2.readlines()
ob2.close()
ob3 = open("subject.txt","r")
aname = ob3.readlines()
ob3.close()
for i in range(len(fname)):
import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
msg = MIMEMultipart()
msg['From'] = 'my_email_id'
msg['To'] = email[i]
msg['Subject'] = aname[i]
message = 'some mail text'
msg.attach(MIMEText(message))
mailserver = smtplib.SMTP('smtp.gmail.com',587)
mailserver.ehlo()
mailserver.starttls()
mailserver.ehlo()
mailserver.login('my_email_id', '******')
mailserver.sendmail('my_email_id',email[i],msg.as_string())
mailserver.quit()
您的代码有一些地方出错。首先,所有的ob1..ob3.open()/.close()应该被
替换为open(“…txt”,“r”)作为ob1:
。你真的不应该在你的循环中导入东西。你能提供你的txt文件的样本吗?谢谢此外,邮件服务器ehlo、登录和退出当然也应该在循环之外。您的代码有一些问题。首先,所有的ob1..ob3.open()/.close()应该被替换为open(“…txt”,“r”)作为ob1:
。你真的不应该在你的循环中导入东西。你能提供你的txt文件的样本吗?谢谢此外,mailserver ehlo、login和quit当然应该在循环之外。