Debian

如何配置 EXIM4 來中繼電子郵件?

  • December 15, 2015

我有一個服務於多個域名的 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 郵件服務向外部發送郵件。如果配置得當,它可以像真正的郵件伺服器一樣自行完成。

引用自:https://unix.stackexchange.com/questions/249317