【问题标题】:Hey I want to send email to more than one person with python嘿,我想用 python 向多个人发送电子邮件
【发布时间】:2020-11-25 10:27:47
【问题描述】:

嘿,我想向一群人发送一封电子邮件,但由于某种原因,即使打印的输出不止一封电子邮件,程序仅将电子邮件发送给文本的第一人我该怎么办?

# Import Python Packages
import smtplib
# Set Global Variables
gmail_user = 'your@gmail.com'
gmail_password = 'password'
# Create Email 
mail_from = gmail_user

for i in range(2):
  with open('C:\\email.txt', 'r', encoding="utf8") as f
      mail_to = f.read().rstrip()
      
  mail_subject = 'subject'
  mail_message_body = 'body'

  mail_message = '''\
  From: %s
  To: %s
  Subject: %s
  %s
  ''' % (mail_from, mail_to, mail_subject, mail_message_body)
  # Sent Email
  server = smtplib.SMTP_SSL('smtp.gmail.com', 465)
  server.login(gmail_user, gmail_password)
  server.sendmail(mail_from, mail_to, mail_message)
  print(mail_to)
server.close()

【问题讨论】:

标签: python email smtp gmail


【解决方案1】:

Send_to 必须是地址以“,”分隔的字符串对象。

示例:

send_to='xyz1@gmail.com,hhdasn@yahoo.com'

【讨论】:

【解决方案2】:

执行电子邮件发送的行是server.sendmail(mail_from, mail_to, mail_message)。你叫它一次。您可以通过在其旁边放置print(mail_to) 语句来检查它。

如果您想多次发送电子邮件,则需要循环调用sendmail

【讨论】:

  • 现在您正在创建服务器并多次登录。但我认为将电子邮件添加到mail_to 作为逗号分隔列表是一个更好的解决方案,正如 Vikas Jain 建议的那样
猜你喜欢
  • 2015-08-29
  • 2012-05-18
  • 2019-11-05
  • 1970-01-01
  • 2017-12-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多