2008-09-17 31 views
1

我在寫一個Web應用程序,需要用戶通過電子郵件進行交互。我很好奇,如果有最佳做法或建議的來源來了解處理電子郵件。我正在用Python編寫我的應用程序,但我不確定要使用哪種郵件服務器,或者如何格式化消息或主題行以進行自動化處理。我還在尋找處理反彈的指導。我如何開始處理與網站活動相關的電子郵件?

謝謝!

回答

3

這裏有一些非常嚴重的問題了,如何自動發送電子郵件,這裏有幾個:

使用電子郵件庫。 Python包含一個叫做'email'的東西。這是你的朋友,它會阻止你做任何不幸的事情。閱讀the Python Manual的示例。

的幾點,這將阻止你被阻塞垃圾郵件過濾器:

始終從一個有效的電子郵件地址發送。您必須能夠發送電子郵件到這個地址並且收到它(它可以在收到之後進入/ dev/null,但它必須可以/傳遞/在那裏)。這將阻止發送者地址驗證的垃圾郵件過濾器阻止您的郵件。

您從server.sendmail(fromaddr,[toaddr])行發送的電子郵件地址將是跳轉的位置。電子郵件中的From:行是完全不同的地址,當用戶點擊'Reply:'時,這就是郵件發送的地方。利用這個優勢,反彈可以到達一個地方,而回復到另一個地方。

發送郵件到本地郵件服務器,我推薦postfix。此本地服務器將收到您的郵件並負責將其發送到您的上游服務器。一旦它被傳送到本地服務器,從程序的角度來看,它被視爲「已發送」。

如果您的網站在信譽良好的數據中心處於靜態IP地址,請不要害怕將郵件直接轉發至Internet。如果您位於充滿腳本小子和垃圾郵件發送者的數據中心,則需要通過良好聲譽的公共MTA轉發此郵件,希望您能夠輕鬆解決此問題。

請勿僅以HTML格式發送電子郵件。始終以Plain和HTML格式發送,或者只發送Plain。很好,我使用純文本的電子郵件客戶端,而且你不想惹惱我。

確認您沒有在您的電子郵件域中運行SPF,或者將其配置爲允許您的服務器發送郵件。通過在您的域上執行TXT查找來做到這一點。

$ dig google.com txt 
...snip... 
;; ANSWER SECTION: 
google.com.  300 IN TXT "v=spf1 include:_netblocks.google.com ~all" 

從上面的結果可以看出,這裏有一個SPF記錄。如果您沒有SPF,則不會有TXT記錄。閱讀更多關於SPF on wikipedia

希望有所幫助。

2

至於自動郵件處理的一般信息......

首先,郵件服務器「品牌」本身並沒有廣播或接收電子郵件重要。它們都支持標準的smtp/pop3通信協議。大多數甚至具有IMAP支持並具有一定程度的垃圾郵件過濾。也就是說,嘗試使用當代郵件服務器。

其次,請注意,爲了減少垃圾郵件,大量的接收郵件服務器只會丟棄郵件,而不是迴應郵件帳戶不存在。這意味着你可能不會收到這些。

請記住,通過垃圾郵件過濾器是一門藝術。許多isp的手錶用於重複的消息,看起來像的消息類似於基於關鍵字或其他內容的垃圾郵件等。這有時獨立於發送的消息的數量;儘管他們是合法的電子郵件,但我看到只有50份副本被美國在線阻止。所以,測試是你的朋友,並且關注反垃圾郵件技術的this article on wikipedia。然後確保你沒有做那些廢話。

**

至於處理消息,只記得這是一個排隊系統。通過POP3連接到服務器以檢索消息,打開它,執行一些操作,刪除消息或存檔消息,然後繼續。

關於反彈,讓郵件服務器完成大部分工作。您應該可以對其進行配置,以便在它無法傳送郵件的情況下通知服務器上的某個電子郵件帳戶。您可以定期檢查該帳戶,並根據需要處理未送達報告。

相關問題