簡體   English   中英

使用 Python 將電子郵件發送到郵件列表

[英]Send email to a mailing list using Python

我正在努力檢查為什么會發生這種情況,但不確定它是在 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"

使接收者成為您要發送的電子郵件列表:

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()

好吧。 我發現了為什么這在我的組織中不起作用。 希望這可以幫助其他人。 Outlook 組設置為僅使用內部電子郵件地址工作。

以編程方式發送電子郵件可能使用中繼方法,該方法沒有身份驗證。 因此,電子郵件永遠不會通過。 解決方法是讓您公司的網絡運營人員(或交流小組)打開接收外部電子郵件的功能。 然后電子郵件將通過。

我最終決定堅持在列表中寫下完整的電子郵件地址列表。 顯然,如果郵件列表在本地管理,則無法重新分發電子郵件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM