如何配置 EXIM4 中继电子邮件?

如何配置 EXIM4 中继电子邮件?

我有一个 Debian Jessie(版本 8.1)服务器,为多个域名提供服务。每个都在 下配置了自己的文件夹/var/www/。每个域名都有一个唯一的conf( example.com.conf) 文件/etc/apache2/sites-enabled,该文件下链接到匹配的conf 文件/etc/apache2/sites-available。每个conf文件有:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/example_com_dir
    ServerName example.com
    ServerAlias *.example.com
</VirtualHost>

我希望能够接受发送到每个域的所有电子邮件(发送到任何域的任何电子邮件)[电子邮件受保护])并将其转发到我的 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: [email protected]
info: [email protected]
*: [email protected]

当我跑步时,我的 Gmail 中确实收到了一封电子邮件。另外,如果运行任何脚本并输出任何打印,我确实会收到电子邮件通知。所以我知道外发电子邮件是有效的。但是当我从 发送电子邮件至 时,我没有收到任何通知。echo 'Test Message.' | mail -s 'Test Message' [email protected]cron.d[email protected][email protected][email protected]

问题#1: 我希望能够获取所有传入的电子邮件并将它们转发到其他地方。例如,我想从 发送[email protected]到我的域[email protected]并让服务器将其发送到[email protected]。我必须配置什么才能做到这一点?如何为服务多个域的服务器进行配置?

问题2: 我知道这可能是基于意见的,但是我可以在 Debian Jessie (8.1) 上配置哪些免费、用户友好、具有 Web GUI 访问电子邮件服务器?

答案1

通过运行重新配置您的配置

# dpkg-reconfigure exim4-config
  • 邮件配置的一般类型:互联网站点
  • 接受邮件的其他目的地:example.com
  • 用于侦听传入 SMTP 连接的 IP 地址:填写您的IP地址

这些应该是需要改变的最重要的项目。如果仍然询问,请删除任何智能主机。

现在它应该接受传入的 SMTP 连接(如果您正确输入了 IP 地址),并通过您已创建的别名发送电子邮件。

答案2

您的邮件服务器似乎没有监听公共地址。它只接受来自 127.0.0.1(即 localhost)的传入邮件。这解释了为什么直接使用 shell 命令从服务器发送邮件是有效的。

您必须将其配置为这些特定域的公共中继主机。您还必须相应地更新您的 dns 条目,以便其他中继在将邮件中继到您的域时可以指向您的服务器。

此外,您关于使用谷歌服务器的部分毫无用处。您所做的是将 exim 配置为使用 google 邮件服务向外部发送邮件。如果配置良好,它可以像真正的邮件服务器一样自行完成。

相关内容