簡體   English   中英

通過SMTP在PHP中發送電子郵件。 隱藏服務器IP

[英]Sending email in PHP via SMTP. Hide server IP

我的應用程序的用戶可以通過他們的SMTP信息發送電子郵件。

我想代表他們的SMTP發送100%的電子郵件。 如果有人開始發送垃圾郵件,我不希望其他用戶受到負面影響。

但是在收到的標題中,我看到了我的服務器IP,所以我認為每個人都會受到影響。

如何確保服務器不承擔責任? 我需要確保一個人不會搞砸其他人。

由於您是中間人,這種情況,即您代表其他人連接到SMTP服務器,由您的應用程序來處理垃圾郵件。 你無法在網絡層面解決這個問題。

由於您在PHP發送的電子郵件的標題中看到了您的服務器IP,我是正確的假設:

  1. 您正在運行自己的SMTP服務器(因此標題中的“我的服務器IP”)?
  2. 您的用戶是否可以通過SMTP訪問此服務器並進行身份驗證(可能是SASL)?
  3. 當您從PHP向SMTP服務器提交郵件時,您使用SMTP憑據進行身份驗證?

如果是這樣,那么對於受到攻擊和發送垃圾郵件的用戶的保護,您確實有一些有限的選項。

第一種選擇是在PHP應用程序中實現速率限制,使用持久存儲來記錄一段時間內發送的電子郵件數量。 但是,此解決方案非常有限,因為它不包括濫用SMTP服務器本身。

我的建議是調查策略服務器 ,例如policyd和實現配額 使用指定每小時最大發送速率的SASL用戶名的配額將有助於降低添加到垃圾郵件黑名單的可能性。 如果您選擇的策略服務器支持達到配額通知,我也會實現(允許您識別定期訪問其配額的用戶,表明該帳戶有問題)。

確定要限制發送的速率很困難,因為您必須平衡用戶需求與保護。 也許一個好的起點是監控用戶當前每小時發送的平均電子郵件數量,並以此為出發點?

同樣,上述假設上述三點是正確的。 如果您只是在沒有身份驗證的情況下將郵件傳遞給SMTP守護程序,或者服務器是外部的並且無法修改,那么您將不得不在PHP中強制執行限制。

暫無
暫無

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

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