如何配置 EXIM4 來中繼電子郵件?
我有一個服務於多個域名的 Debian Jessie(8.1 版)伺服器。每個人都有自己的文件夾配置在
/var/www/
. 每個域名都有一個唯一的 conf(example.com.conf
) 文件,在/etc/apache2/sites-enabled
該文件下連結到/etc/apache2/sites-available
. 每個conf
文件都有:<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/example_com_dir ServerName example.com ServerAlias *.example.com </VirtualHost>
我希望能夠接受發送到每個域的所有電子郵件(發送到任何 x@example.com 的任何電子郵件)並將其轉發到我的 Gmail。我成功安裝了EXIM4,配置
dpkg-reconfigure exim4-config
如下:mail sent by smarthost; no local mail System mail name: myDomainName.TLD IP-addresses to listen on for incoming SMTP connections: 127.0.0.1 ; ::1 Other destinations for which mail is accepted: <BLANK> Visible domain name for local users: <BLANK> IP address or host name of the outgoing smarthost: smtp.gmail.com::587 Keep number of DNS-queries minimal (Dial-on-Demand)? No Split configuration into small files? No Root and postmaster mail recipient: <BLANK>
然後我完成了本教程中的所有其他步驟: https ://www.vultr.com/docs/setup-exim-to-send-email-using-gmail-in-debian 。
裡面
/etc/hosts
我有:127.0.0.1 localhost 127.0.1.1 install.install install # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters
在裡面
/etc/hostname
我有一行:example.com
裡面
/etc/email-addresses
我有:root: myEmailAddress@gmail.com info: myEmailAddress@gmail.com *: myEmailAddress@gmail.com
當我跑步時,
echo 'Test Message.' | mail -s 'Test Message' example@gmail.com
我確實會在我的 Gmail 中收到一封電子郵件。此外,如果從中執行任何腳本cron.d
並輸出任何列印,我會以電子郵件通知的形式收到這些。所以我知道外發電子郵件有效。example@yahoo.com
但是,當我從to發送電子郵件時,root@example.com
我沒有收到任何通知example@gmail.com
。問題 #1: 我希望能夠獲取所有收到的電子郵件並將它們轉發到其他地方。例如,我想從
example@yahoo.com
我的域root@example.com
發送並讓伺服器將其發送到example@gmail.com
. 我必須配置什麼才能這樣做?如何為服務多個域的伺服器配置它?問題 #2: 我知道這可能是基於意見的,但是我可以在 Debian Jessie (8.1) 上配置哪些免費的、使用者友好的、具有 Web GUI 訪問權限的電子郵件伺服器?
通過執行重新配置您的配置
# dpkg-reconfigure exim4-config
- 郵件配置的一般類型:網際網路站點
- 接受郵件的其他目的地:example.com
- 用於偵聽傳入 SMTP 連接的 IP 地址:填寫您的 IP 地址
這些應該是最重要的要改變的項目。如果仍然詢問,請刪除任何智能主機。
現在它應該接受傳入的 SMTP 連接(如果您正確輸入了 IP 地址),並通過您已經創建的別名發送電子郵件。
您的郵件伺服器似乎沒有監聽公共地址。它只接受來自本地主機 127.0.0.1 的傳入郵件。這解釋了為什麼使用 shell 命令直接從伺服器發送郵件有效。
您必須將其配置為這些特定域的公共中繼主機。您還必須相應地更新您的 dns 條目,以便在將郵件中繼到您的域時,其他中繼可以指向您的伺服器。
你使用Google伺服器的部分也是無用的。您所做的是將 exim 配置為使用 google 郵件服務向外部發送郵件。如果配置得當,它可以像真正的郵件伺服器一樣自行完成。