Email

是否可以設置一個內部測試電子郵件伺服器來保存所有發送給它的郵件?

  • October 5, 2015

在我的工作中,我們需要設置一個測試電子郵件伺服器,它將接收發送給它的所有郵件進行傳遞,而不是將其轉儲到一個帳戶中以供以後檢索。我已經離開電子郵件伺服器配置遊戲足夠長的時間了,我認為這是可能的,但我不確定。

作為我們需要的一個更具體的例子:我們有在某些情況下向外部客戶發送電子郵件的程式碼。我們希望將我們的程式碼指向一個測試伺服器,該伺服器將接受這些電子郵件,但不讓它們到達外部世界(是的,它以前發生過,哎呀)。然後,我們需要能夠驗證如果我們發送到真實伺服器,電子郵件 X 是否會發送到客戶端 Y。

作為獎勵,我們在真實伺服器上有一個錯誤電子郵件別名,該別名發送給我們希望不斷收到電子郵件的程序員。因此,任何發送到測試伺服器上的別名的東西都會轉發到我們的真實伺服器進行傳遞。

我的偏好是 postfix,但我們的 IT 人員似乎對所有事情都使用 sendmail(或 Exchange),因此任何伺服器的提示/指針都會有所幫助。非常感謝。

我想你想要的是一個郵件接收器。

您可能需要根據您的特定要求進行一些更改,但我使用了類似的方法來擷取使用者驗證電子郵件。

此過程使用 Postfix 並假定基於 Redhat 的發行版。

  1. 如果在本地開發機器上,您可能需要編輯 /etc/postfix/main.cf 才能讓電子郵件正常工作。即:relayhost = somerelay.isp.net
  2. 編輯 /etc/postfix/main.cf 以包括: transport_maps = hash:/etc/postfix/transport
  3. 創建或編輯 /etc/postfix/transport 並包含:example.com 測試:
  4. 執行:postmap /etc/postfix/transport
  5. 編輯 /etc/postfix/master.cf 以包括: test unix - nn - - pipe user=nobody argv=/bin/mail -s Signup me@realserver.com
  6. 服務後綴重新載入

現在使用電子郵件地址 1@example.com 進行註冊將導致向 me@realserver.com 發送電子郵件。從那裡可以點擊使用者驗證連結或檢查電子郵件的內容等。

因此,您可以為外部客戶端電子郵件添加另一個傳輸並發送到本地伺服器,然後像上面那樣使用將錯誤發送到真實伺服器。

希望這可以幫助。

乾杯

引用自:https://serverfault.com/questions/73252