python编写同时向多个邮箱发送相同的文件

为了试验简便我用我的网易邮箱向我的网易邮箱一次性发送多封邮件
1,可以看到我的邮箱中现在没有任何文件
python编写同时向多个邮箱发送相同的文件_第1张图片
2.接下来运行下面的代码输入相应的数据

from email.mime.text import MIMEText
from email.header import Header
import smtplib
import getpass
import threading
class Email:
    def __init__(self,text,subject,sender,host,passwd,receivers):
        self.text=text
        self.subject=subject
        self.sender=sender
        self.host=host
        self.passwd=passwd
        self.receivers=receivers
    def __call__(self):
        message = MIMEText(self.text,'plain','utf8')
        message['From'] = Header(self.sender,'utf8')
        message['To'] = Header(self.receivers,'utf8')
        message['Subject'] = Header(self.subject,'utf8')
        smtp = smtplib.SMTP()
        smtp.connect(self.host)
        smtp.login(self.sender,self.passwd)
        smtp.sendmail(self.sender,self.receivers,message.as_bytes())
        smtp.close()
if __name__ == '__main__':
    sender = input('请输入你的邮箱帐号:').strip()
    text = input('请输入你的邮件内容:').strip()
    subject = input('请输入你的邮件主题:').strip()
    host = 'smtp.163.com'
    passwd = getpass.getpass('请输入授权码:').strip()
    receivers = []
    while 1:
      receiver = input('请输入你的寄件地址(可以多个)(quit退出):').strip()
      if receiver == 'quit':
          print('邮件发送成功')
          break
      receivers.append(receiver)
    for i in receivers:
       if i != 0:
         t = threading.Thread(target=Email(text,subject,sender,host,passwd,i))
         t.start()
       else:
         break

python编写同时向多个邮箱发送相同的文件_第2张图片
3.回到网易邮箱查看效果
python编写同时向多个邮箱发送相同的文件_第3张图片
python编写同时向多个邮箱发送相同的文件_第4张图片

你可能感兴趣的:(python编写同时向多个邮箱发送相同的文件)