我已经在 Linux 平台上设置了本地邮件服务器,现在我可以在 LAN 内访问,我已经从 GoDaddy 购买了域名,如何在我的域名中映射本地邮件服务器?
我知道我们需要在域的 MX 记录中提供邮件服务器 IP,但问题出在我的网络架构上,看一下
来自 ISP 的静态 IP 地址---> Net Gear 路由器---> Linux 服务器的 eth0;从 Linux 服务器的 eth1 到 LAN。
现在我们可以使用本地 IP 地址访问邮件服务器
192.168.xx/webmail 或通过在 Thunderbird 中配置 SMTP 详细信息。
我想访问本地网络之外的网络邮件,我该怎么做?
答案1
(在得到您的回答后,我重写了我的帖子,答案是:MTA=postfix,linux distro=ubuntu,目前外部邮件未到达)
为了让您开始,我省略了所有花哨的防病毒/反垃圾邮件设置。
如果我理解你的问题,你想要的是:
- 接收发往以下地址的邮件用户@你的域名
- 通过访问邮件网络邮件程序从任何地方
要接收外部电子邮件,您需要
- 配置后缀到接受用户邮件@你的域名并让它监听正确的接口
- 配置您的路由器转发端口 25到你的 Linux 服务器
- 配置MX 记录在您的 DNS 提供商(您的情况下是 GoDaddy)处指向您的静态 IP
Postfix 的默认配置应该没问题。
只需更改它接受的主机名和域名以及 postfix 监听的接口:
替换 mail.yourdomain.com通过您的完全合格域名和您的域名.com通过您的域名。
sudo postconf -e "mydestination = mail.yourdomain.com, localhost.localdomain, localhost, yourdomain.com"
sudo postconf -e "inet_interfaces = all"
sudo /etc/init.d/postfix restart
要通过 webmailer 从外部访问邮件,您需要
- 配置 Web 服务器以提供 HTTPS
- 配置你的路由器以将端口 443 转发到你的 Linux 服务器
要在 Ubuntu 上为 Apache2 启用 SSL(请参阅https://help.ubuntu.com/12.04/serverguide/httpd.html#https-configuration):
sudo a2enmod ssl
sudo service apache2 restart
这使用可能颁发给 localhost 或 localhost.localdomain 的自签名测试证书。这足以测试您的设置。
您可以使用例如 www 创建自己的自签名证书。您的域名或者买一个(如果你只需要加密,那简直就是浪费)。参见Ubuntu-证书-Doku了解详情。
答案2
您需要为邮件服务器提供一个可公开路由的地址(让它使用 ISP 分配的静态 IP),最有可能是通过网络地址解读或在您的路由器上进行端口转发。
具体如何操作应该记录在您的 Netgear 路由器的用户/管理员指南中,但需要注意的是,如果您的邮件量很大,SOHO 设备可能无法处理邮件服务器所需的流量或连接数,因此您可能会遇到需要使用商业或企业级路由器来解决此问题的问题。