2011-10-17 30 views
2

我想在這裏使用Python程序發送電子郵件:發送郵件使用Python和Postfix在OSX

Receive and send emails in python

而且我已經激活了localhost本地Postfix的SMTP服務器和驗證,這是主動起訴指示操作:

http://www.phase2technology.com/node/667/

我設置recipientssender我自己的電子郵件地址。程序運行。但是,我沒有收到任何郵件。

我讀過,我可能需要設置一個繼電器。我讀過的例子是通過gmail。這是我需要做的嗎?如果是這樣,我如何在OSX上執行此操作?

回答

1

您很可能需要設置一個繼電器。看看你是否在mailq命令中得到任何輸出(這會告訴你它是否在發送消息時失敗)。請看this article以瞭解如何爲postfix/osx設置smarthost,以及使用Gmail作爲postfix中的智能主機的this article

+0

我只是直接使用Gmail作爲我的SMTP服務器,實際上。不知道爲什麼我沒有想到這一點。儘管如此,我會將其留給那些有疑問的人。 –

0

實際上,如果可能的話,與其將所有這些麻煩通過Gmail進行轉接,您可能只需跳過關於Postfix的所有內容,並直接使用smtp.gmail.com作爲SMTP服務器,而不是localhost

你只需要使用您的用戶名/密碼,用它來驗證,如在上面提到的SO問題,還可以使用:

session = smtplib.SMTP_SSL(server, port=465) 

(端口465是Gmail的SSL連接的缺省值)

而不是

session = smtplib.SMTP(server) 

另外,我使用的算法,因爲我不舒服只是在一個.py坐在裸露的編碼我的密碼文件。

+0

請注意,直接使用SMTP和通過Postfix,雖然更容易,但並不是一回事。根據[sendgrid文章](http://docs.sendgrid.com/documentation/get-started/integrate/examples/smtp-vs-rest/) – Yarin

+0

,Postfix將處理排隊和連接池,提高延遲和容錯能力聽起來就像使用Gmail更簡單一樣。您必須通過各種箍環和循環才能繞過Gmail的安全功能。 –