【问题标题】:Send email to a mailing list using Python使用 Python 向邮件列表发送电子邮件
【发布时间】:2015-02-02 02:51:13
【问题描述】:

我正在努力检查为什么会发生这种情况,但不确定它是在 gmail 的服务器端还是在我正在使用的脚本的一部分中。 问题是我正在尝试将电子邮件发送到邮件列表(我发现许多帖子解释了如何包含各种电子邮件,但没有解释将其发送到包含多个地址的单个电子邮件是否存在限制或解决方法) .

在这种情况下,我想将电子邮件发送给我们公司 BI 团队 (bi@company.com) 的许多不同人员,通常向该地址发送电子邮件会导致团队中的每个人都收到电子邮件,但我无法让我工作,我不想将所有电子邮件都包含在列表中,因为太多了,每次都必须手动更改。

当我尝试使用另一封单人电子邮件时,它可以完美运行

    import smtplib    

    sender = 'server@company.com'
    receivers = ['bi@company.com']
    q = ""

    message = """From: Error alert <Server-company>
    To: BI <bi@company.com>
    Subject: Error e-mail

    %s
    """ % q

    try:
        smtpObj = smtplib.SMTP('localhost')
        smtpObj.sendmail(sender, receivers, message)
        print "Successfully sent email"
    except SMTPException:
       print "Error: unable to send email"

【问题讨论】:

  • 如果邮件列表是由外部管理的,那么向一个地址发送电子邮件没有区别。如果邮件列表是在本地管理的(即在您的电子邮件客户端中),那么您需要自己将邮件发送到所有地址。
  • 我最终决定坚持在列表中写入完整的电子邮件地址列表。显然,如果邮件列表在本地管理,则无法重新分发电子邮件。

标签: python smtplib mailing-list


【解决方案1】:

好的。我发现了为什么这在我的组织中不起作用。希望这可以帮助其他人。 Outlook 组设置为仅使用内部电子邮件地址工作。

以编程方式发送电子邮件可能会使用中继方法,该方法没有身份验证。因此,电子邮件永远不会通过。解决方法是让您公司的网络操作人员(或交换组)打开接收外部电子邮件。然后电子邮件将通过。

【讨论】:

    【解决方案2】:

    我最终决定坚持在列表中写入完整的电子邮件地址列表。显然,如果邮件列表在本地管理,则无法重新分发电子邮件。

    【讨论】:

      【解决方案3】:

      使收件人成为您要发送的电子邮件列表:

      example:
      recivers = ['a@gmail.com','b@gmail.com,...]
      

      试试这样:

      import smtplib
      from email.mime.text import MIMEText
      sender = 'server@company.com'
      receivers = ['a@company.com','b]@company.com'....]
      server = smtplib.SMTP('smtp@serv.com',port)
      server.starttls()
      msg = MIMEText('your_message')
      msg['Subject'] = "subject line"
      msg['From'] = sender
      msg['To'] = ", ".join(receivers)
      server.login('username','password')
      server.sendmail(sender, recipients, msg.as_string())
      server.quit()
      

      【讨论】:

      • 是的,还有一些其他帖子建议这样做,但我不想列出列表,我想将其发送到包含多封电子邮件的一封电子邮件:所以 bi@company.com 包含以下电子邮件: a@company.com b@company.com c@company.com 等...
      猜你喜欢
      • 1970-01-01
      • 2018-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-18
      • 2012-06-30
      相关资源
      最近更新 更多