Python Not Sending Email To Multiple Addresses

后端 未结 3 990
忘掉有多难
忘掉有多难 2020-12-31 23:14

I can\'t see where i\'m going wrong with this, I hope someone can spot the problem. I\'d like to send an email to multiple addresses; however, it only sends it to the first

相关标签:
3条回答
  • 2020-12-31 23:30

    Try to use this code, without your join:

    import smtplib
    from smtplib import SMTP
    
    recipients = ['example1@gmail.com', 'example2@example.com']
    
    def send_email (message, status):
        fromaddr = 'from@gmail.com'
        server = SMTP('smtp.gmail.com:587')
        server.ehlo()
        server.starttls()
        server.ehlo()
        server.login('example_username', 'example_pw')
        server.sendmail(fromaddr, recipients, 'Subject: %s\r\n%s' % (status, message))
        server.quit()
    
     send_email("message","subject")
    

    Hope it helps!

    0 讨论(0)
  • 2020-12-31 23:31
       import smtplib
    
       from email.mime.text import MIMEText
    
       s = smtplib.SMTP('xxx.xx')
    
       msg = MIMEText("""body""")
       sender = 'xx.xx.com'
    
       recipients = ['example1@gmail.com', 'example2@example.com']
    
       msg['Subject'] = "test"
       msg['From'] = sender
       msg['To'] = ", ".join(recipients)
       s.sendmail(sender, recipients, msg.as_string())
    
    0 讨论(0)
  • 2020-12-31 23:45

    Change

    toaddrs = ", ".join(recipients)
    

    to

    toaddrs = recipients
    

    since

    server.sendmail(fromaddr, toaddrs, ...)
    

    expects toaddrs to be a list of email addresses. (Or, of course, just use recipients in place of toaddrs.)

    0 讨论(0)
提交回复
热议问题