Sendmail

配置標準 sendmail 安裝以接受外部連接並將郵件轉發到 gmail 帳戶

  • March 1, 2012

我想將我的域(聯繫人、網路管理員)上的一些郵件帳戶重定向到我的 gmail 帳戶。

為了做到這一點,我安裝了 sendmail。

預設安裝(apt-get install sendmail在 ubuntu 伺服器 10.04 上)具有本地守護程序,並且只接受發送到本地帳戶。

為了轉發,我在 sendmail.mc 上啟動了 virtusertable 添加行FEATURE(virtusertable)dnl,編輯文件 /etc/mail/virtusertable 並添加了以下行:

webmaster@mydomain.com   myaccount@gmail.com
contact@mydomain.com    myaccount@gmail.com

最後,我做了m4 sendmail.mc > sendmail.cfand make virtusertable.db,並編輯了 sendmail.cf 以更改在我的外部 ip 介面而不是 127.0.0.1 上偵聽的守護程序。

結果,我可以從任何主機發送電子郵件到,比如說 root@mydomain.com,它會到達我伺服器的根本地郵件帳戶,但是在轉發的帳戶(網站管理員,聯繫人)上,我沒有收到任何傳遞錯誤消息,但是我的 gmail 帳戶上的任何轉發郵件或伺服器上的本地郵件都不會像 root@mydomain.com 那樣發生,它不是使用 virtusertable 轉發的。

我想我想知道發生了什麼(我什至不知道日誌文件在哪裡),以及如何修復它。以及如何更改 sendmail.mc 上的守護程序配置以允許外部連接而不僅僅是本地連接,而無需編輯 sendmail.cf 文件。

我只是忘記了 virtusertable 和編輯/etc/mail/aliases的文件,而是添加了以下行:

webmaster:    myaccount@gmail.com
contact:      myaccount@gmail.com

然後我執行了newaliases,一切都很好。

現在,關於守護程序的正確配置以偵聽 127.0.0.1 以及在任何其他界面上編輯 sendmail.mc 而不是 sendmail.cf 我發現了這個: http: //lists.samba.org/archive/linux/2002 -八月/004310.html

這基本上告訴只需將 dnl 放在指定守護程序選項的行的前面,這將使 sendmail 偵聽所有可用的網路介面。例如:

dnl DAEMON_OPTIONS('Port=smtp,Addr=127.0.0.1, Name=MTA')

當然,在這樣做之後,有必要重新建構配置文件 ( m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf) 並重新啟動 sendmail。

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