我尝试使用SMTPlib使用python发送电子邮件。我可以用标准的方式发一封邮件。现在,我想发送多个电子邮件,应该有一种方法来做到这一点,而不是登录,每次退出服务器,然后再发送电子邮件。我尝试了以下方法。我将所有内容打包在sendmail类中,并用init()方法连接到服务器:
class SendEmail:
def __init__(self):
self.username='username@yahoo.com';
self.password='password';
self.server=smtplib.SMTP('smtp.mail.yahoo.com',587);
self.server.starttls();
self.server.login(self.username,self.password);
现在,我尝试对类使用SendAnEmail()方法来发送多个电子邮件:
^{pr2}$当我声明类的一个瞬间,并第一次调用SendAnEmail()时,它就起作用了。 当我第二次调用它时,它给我一个错误,说服务器已断开连接。 既然我没有销毁类实例,服务器是如何断开连接的? 怎么解决这个问题。每次发送电子邮件时我都应该连接、登录和退出吗?在
因此,在主要功能中:
def main():
mail0=SendEmail();
mail0.SendAnEmail('reciever1@yahoo.com');#this works
time.sleep(60);
mail0.SendAnEmail('reciever2@yahoo.com');#this does not work
删除
time.sleep(60)
-雅虎不会等那么久(30秒?)并将关闭连接。在还有几件事:
sendmail()
接受一个收件人列表,因此您可以一次性向多个收件人发送电子邮件。在相关问题 更多 >
编程相关推荐