2014-12-04 158 views
3

我很努力地檢查爲什麼會發生這種情況,但並不確定它是否在gmail的服務器端或我正在使用的腳本的一部分。 問題是,我試圖發送一封電子郵件到郵件列表(我發現很多帖子解釋瞭如何包括各種電子郵件,但沒有解釋是否有限制或解決方法將其發送到包含多個地址的單個電子郵件)。使用Python發送電子郵件到郵件列表

在這種情況下,我想將電子郵件發送給作爲我們公司BI團隊一員的許多不同人員([email protected]),通常向該地址發送電子郵件將導致團隊中的每個人都獲得電子郵件,但我無法讓我工作,並且我不希望將所有電子郵件都包含在列表中,因爲它們太多,必須每次都手動更改。

當我嘗試這與其他單身人士通過電子郵件發送它完美

import smtplib  

    sender = '[email protected]' 
    receivers = ['[email protected]'] 
    q = "" 

    message = """From: Error alert <Server-company> 
    To: BI <[email protected]> 
    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

如果郵件列表是從外部管理的,那麼發送郵件到一個地址沒有區別。如果郵件列表在本地進行管理(即在您的電子郵件客戶端中),則您需要將郵件自己發送到所有地址。 – Dave 2014-12-04 09:54:47

+0

我終於決定堅持寫出列表中的電子郵件地址的完整列表。顯然,如果郵件列表是在本地管理的,那麼電子郵件的重新分配就無法完成。 – 2014-12-04 14:41:08

回答

0

化妝recivers要發送的郵件列表:

example: 
recivers = ['[email protected]','[email protected],...] 

嘗試這樣的:

import smtplib 
from email.mime.text import MIMEText 
sender = '[email protected]' 
receivers = ['[email protected]','b]@company.com'....] 
server = smtplib.SMTP('[email protected]',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() 
+0

是的,還有一些其他帖子提出這個建議,但我不想列出一個列表,我想將它發送到一封包含多封電子郵件的郵件: 因此[email protected]包含以下電子郵件: a @ company.com [email protected] [email protected]等... – 2014-12-04 09:37:37

0

我終於決定堅持寫出列表中的電子郵件地址的完整列表。顯然,如果郵件列表是在本地管理的,那麼電子郵件的重新分配就無法完成。