我正在努力检查为什么会发生这种情况,但不确定它是否在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"
答案 0 :(得分:1)
好的。我发现了为什么这在我的组织中不起作用。希望这可以帮助其他人。 Outlook 群组设置为仅使用内部电子邮件地址工作。
以编程方式发送电子邮件,可能使用中继方法,该方法没有身份验证。因此,电子邮件永远不会通过。解决方法是让您公司的网络运营人员(或交流小组)打开接收外部电子邮件的功能。然后电子邮件将通过。
答案 1 :(得分:0)
将收件人列为您要发送的电子邮件列表:
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()
答案 2 :(得分:0)
我最终决定坚持在列表中编写完整的电子邮件地址列表。显然,如果在本地管理邮件列表,则无法完成电子邮件的重新分发。