5

我正在努力检查为什么会发生这种情况,但不确定它是在 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"
4

3 回答 3

2

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

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

于 2021-05-14T17:20:40.960 回答
1

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

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()
于 2014-12-04T09:33:17.117 回答
0

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

于 2014-12-04T14:42:06.377 回答