我正在開發一個從PIPE獲取電子郵件的系統,驗證電子郵件發送的電子郵件地址是否在客戶端數據庫中,並將其寫入數據庫。如何檢查收到的電子郵件是否合法?
的問題是,我不希望有安全的問題,如果有人發送一封電子郵件,PHP的系統,它將記錄它。那麼,如何檢查電子郵件是否由正確的郵件服務器發送?我正在考慮獲取域的郵件服務器的IP,並在電子郵件標題中驗證它是否從這些服務器發送。所以,如果我收到來自[email protected]的電子郵件,它會ping mail.hotmail.com並檢查電子郵件是否來自這些IP地址。
無論如何,如果有人有一個自定義域一樣yourdomain.com,在共享的cPanel服務器上運行,其他人在這些服務器可以發送電子郵件與PHP和獲取IP校驗通過。所以,我在考慮檢查電子郵件是使用PHP還是從郵件服務器發送的,但我不知道如何執行此操作。
,你有何建議?
[發件人政策框架(SPF)](http://en.wikipedia.org/wiki/Sender_Policy_Framework)和[DomainKeys Identified Mail(DKIM)](http://en.wikipedia.org/wiki/DomainKeys_Identified_Mail)浮現在腦海中。你還需要更多建議嗎? – hakre 2013-04-25 11:53:40
我會看看並讓你知道。感謝您的幫助。 – user2271353 2013-04-25 11:58:56
如果您的問題僅限於兩個郵件服務器()和郵件服務器之間,請參見下面的答案。最好選擇SPF和DKIM,並根據這些評分進行評分。你的郵件服務器也可以在這裏做一些工作,在收到的信息中添加標題,所以你不需要重新發明輪子。 – hakre 2013-04-25 11:59:49