帶有白名單的簡單 SMTP 中繼

帶有白名單的簡單 SMTP 中繼

我有一個已編譯的網路應用程式的測試實例(我沒有編寫),我想用它進行一些測試,但是該應用程式包含我想要的客戶電子郵件地址不是在我進行上述測試時收到電子郵件。

現在,這個 Web 應用程式使用特定的 SMTP 伺服器(稱之為mail1)在發生各種事件時發送通知電子郵件。為了最大限度地減少我需要對應用程式或其資料進行的自訂量(這可能會影響測試),我認為避免發送這些電子郵件的解決方案可能是建立臨時 SMTP 中繼來mail2檢查出站電子郵件位址,並且僅mail在電子郵件發送至特定網域時才將電子郵件中繼到。所有其他不屬於該網域的內容都可以被刪除,或者更好的是,轉發到該白名單網域上的另一個地址,以查看它們將有如果沒有列入白名單,則已發送給客戶mail2

這是我可以用 Postfix 或 Qmail 做的事情嗎?如果是這樣,對於如何開始這樣做有什麼建議嗎?我以前從未配置過,我想知道是否有一個完全不同的郵件限制解決方案被我忽略了。也許 Gmail/Google Apps 也能做點什麼?

答案1

取決於您的設定和底層發行版(我假設您使用 Linux)。就我個人而言,我建議使用您發行版的工具。因此,如果您的發行版使用 Postfix,請使用 Postfix。如果使用 Sendmail,請使用 Sendmail。

無論如何,我會推薦 Postfix,因為設定簡單的 SMTP 網關非常容易。

答案2

最後用 Postfix 做到了這一點。 main.cf 檔案的關鍵部分是:

relayhost = [mail1.mydomain.com]
smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/rcpt_whitelist, reject

rcpt_whitelist 包含:

whitelisted1.com OK
whitelisted2.com OK

然後我就postmap hash:rcpt_whitelist加載了它。

相關內容