我已经设置了一个 VPS 服务器,其中多个域名都指向同一个服务器。
多个域包括:
www.maindomain.com
www.seconddomain.com
ETC。
对于主域,我已禁用邮件服务器,因为对于该域,maindomain.com
我使用 Office 365。关于邮件设置,我已设置了 DNS,maindomain.com
如下所示:
@ A 'IP address'
@ MX 0 maindomain-com01c.mail.protection.outlook.com.
mail CNAME @
对于该域名,maindomain.com
我购买了通配符 SSL 证书,并已安装该证书(并将其分配给该域名maindomain.com
),并将其安装在邮件服务器(Postfix)和 IMAP 服务器(Dovecot)上。
我想要实现的是,在客户端,收发邮件的服务器设置都是:“mail.maindomain.com”,这样我就只需要为我的邮件服务器购买一个 SSL 证书,而不是为每个域购买单独的 SSL 证书。
第二个域名:www.seconddomain.com
具有以下邮件 DNS 设置:
@ A 'IP address'
@ MX 10 mail.maindomain.com
我怀疑这是否是正确的方法,因为www.maindomain.com
只有 Office365 设置的 MX 记录。那么是否仍然可以将所有其他域指向mail.maindomain.com
邮件服务器,因为我已禁用邮件服务器www.maindomain.com
更新 14-07
感谢您的所有回答。但是,我仍然无法让此设置与我的 DNS 设置配合使用。
使用以下设置一切正常(无需 SSL):
maindomain.com
DNS 设置
@ 5 min A 37.97.193.145
@ 5 min MX 0 maindomain-nl01c.mail.protection.outlook.com.
@ 5 min TXT v=spf1 include:spf.protection.outlook.com –all
server1 5 min CNAME @
seconddomain.com
DNS 设置
@ 5 min A 37.97.193.145
@ 5 min MX 10 mail
@ 5 min TXT v=spf1 a mx ip4:37.97.193.145 –all
server1 5 min CNAME @
这是我目前使用的 DNS 设置,运行完美。我可以向 Hotmail 和 Google 电子邮件地址发送邮件,也可以接收邮件。Plesk 中的邮件服务器已禁用,maindomain.com
但为 seconddomain.com 激活。在 Outlook 中,我将其用作server1.seconddomain.com
邮件服务器。
我想使用下面的 DNS 设置,以便server1.maindomain.com
将其用作邮件服务器seconddomain.com
:
maindomain.com
DNS 设置
@ 5 min A 37.97.193.145
@ 5 min MX 0 maindomain-nl01c.mail.protection.outlook.com.
@ 5 min TXT v=spf1 include:spf.protection.outlook.com –all
server1 5 min CNAME @
seconddomain.com
DNS 设置
@ 5 min A 37.97.193.145
@ 5 min MX 10 server1.maindomain.com.
@ 5 min TXT v=spf1 a mx ip4:37.97.193.145 –all
server1 5 min CNAME @
使用此设置,我仍然停用了 的邮件服务器maindomain.com
(因为我使用 Office 365 maindomain.com
),并激活了 的邮件服务器seconddomain.com
。在 Outlook 中,我将其用作server1.maindomain.com
邮件服务器。
server1.seconddomain.com
使用上述设置的Outlook 发送的邮件在 Hotmail 和 Gmail 中都会被当作垃圾邮件(未激活 SSL)。
我还在 MX 工具箱上运行了一些诊断程序,通过此设置,它显示 Google 是 的邮件服务器server1.maindomain.com
。我没有收到任何其他错误(中继服务器也是 server1,这也是服务器的名称)。使用 mail-tester.com 进行测试也一切正常。以及测试 SSL 证书是否正常工作并指向正确的邮件服务器。
我认为问题在于seconddomain.com
指的是 maindomain.com 的邮件服务器(它需要这样做,因为将来我想使用 的 SSL 证书maindomain.com
),但它却使用 Outlook 发送电子邮件。这样对吗?如果是这样,我该如何纠正这个问题?
更新19-07
如下所示,我将 MX 记录更改为域名,而不是主域的 cname:
@ 5 min MX 10 maindomain.com.
奇怪的是,这样做仍然不能解决问题。不过,我发现并非每个 Gmail 地址都会收到垃圾邮件。我进行了以下发送测试:
info@[workdomain].nl Received test mail as spam
jarno@[workdomain].nl Received test mail in inbox
[personal]@gmail.com Received test mail as spam
由于隐私原因,我删除了一些信息。所有域名均由 Google 应用托管。因此,奇怪的是,同一域名(标为 [workdomain])的 2 个电子邮件接收电子邮件的方式不同。一个将邮件作为垃圾邮件接收,另一个则将其放入收件箱。
我还使用在线邮件测试工具测试了我的邮件是否是垃圾邮件。请参阅以下链接查看报告:
答案1
您的方法确实可行,而且经常被托管公司采用。
您会看到 mail01.hosting-company.com 等邮件服务器支持 SSL。由同一台服务器处理邮件的域也可以拥有指向 mail01.hosting-company.com IP 地址的邮件子域,但它们无法支持 POP/IMAP/SMTP 上的 SSL。因此,虽然所有邮件子域都指向同一台服务器,但只有一个可以支持 SSL。
然后可以将电子邮件客户端配置为使用 SSL 连接到 mail01.hosting-company.com,或者不使用 SSL 连接到 mail.any-domain.com。
答案2
是的,这是可能的(协议授权并将按预期工作)
- 一个用于 *.maindomain.com 的 SSL 证书
- 通过设置将 @maindomain.com 的邮件发送到 Office365
maindomain.com IN MX 0 maindomain-com01c.mail.protection.outlook.com.
,可以使用该 MX 的证书通过 TLS 保护邮件 - 其他域名(例如 seconddomain.com)的邮件发送到 mail.maindomain.com,可以使用 1 中的证书通过 TLS 保护邮件。编辑:但是 MX 不能指向 CNAME。您需要仅使用 A 地址定义 mail.maindomain.com,或者定义
seconddomain.com IN MX 0 maindomain.com
换句话说,SSL 证书针对的是 MX 主机名,与电子邮件地址中的域名没有任何关系。
注意:从安全角度来看,这留下了一个问题:您可以“确定”您正在与 maindomain-com01c.mail.protection.outlook.com 进行通信,但您如何确定该服务器就是您应该向其发送 maindomain.com 邮件的服务器?另一个名为 DNSSEC 的系统解决了这个问题。
注 2:你不需要有使用“mail.maindomain.com”,您可以使用任何内容,例如“mailforsecconddomain.maindomain.com”或“foo.maindomain.com”。
答案3
正如@Law29 所说:
MX 可能未指向 CNAME:https://en.wikipedia.org/wiki/CNAME_record#Restrictions
MX 和 NS 记录绝不能指向 CNAME 别名(RFC 2181 第 10.3 节)。