Ubuntu

將指定域上的所有郵件轉發到腳本

  • December 8, 2015

我執行一個一次性電子郵件服務,它接受所有傳入的郵件並將其轉發到 PHP 腳本,該腳本將其儲存在數據庫中以供人們查看。在此之前,我一直在使用 cPanel 進行共享主機,這使得將電子郵件通過管道傳輸到腳本變得很容易。但是,現在我有了自己的 VPS,但它沒有 cPanel。如何通過管道將電子郵件發送到腳本?此外,如何將電子郵件發送到某些指定域上的任何地址到我的腳本?您會看到,除了主域之外,如果主域被阻止,人們可以使用幾個備用域,並且在每個域上我希望任何地址都可用(xyz@domain1、abc@domain2、anythingelse@domain3)。

VPS 安裝了 Ubuntu 9.04,我一直在嘗試使用 Postfix,不過如果更簡單的話,我可以切換到 Exim 或 Sendmail。

終於想通了。我最後使用了Sendmail。我在 sendmail.mc 中打開了 virtusertable 功能,(請參閱Sendmail 網站上的資訊),然後在 /etc/mail/virtusertable 中放入以下行:

@disposaldomain.net parser@localhost

它將所有到該域的郵件通過管道傳遞給使用者“解析器”。然後,我在 /etc/mail/aliases 的末尾添加了這一行:

parser: "|/path/to/script/parser.php"

之後,我必須執行這些命令(來自 /etc/mail):

makemap hash virtusertable.db < virtusertable
newaliases
/etc/init.d/sendmail reload
/etc/init.d/sendmail restart

做到了!

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