邮件服务器的无效SSL证书

时间:2019-12-26 08:59:48

标签: ssl openssl smtp certificate ehlo

尽管此问题是在特定软件(Discourse论坛软件)的上下文中,但实际上与邮件服务器的SSL证书有关。

这是我的设置:

主要网站: mydomain.com (托管在Hostgator上)

论坛网站(Discourse论坛软件): forum.mydomain.com (托管在DigitalOcean上)

邮件服务器(Discourse用于向成员发送电子邮件): mail.mydomain.com (托管在Hostgator上)

SMTP的话语设置:

DISCOURSE_SMTP_ADDRESS: mail.mydomain.com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: forum-no-reply@mydomain.com
DISCOURSE_SMTP_PASSWORD: "mypassword"
DISCOURSE_SMTP_ENABLE_START_TLS: true           # (optional, default true)

我在Hostgator上为 mydomain.com mail.mydomain.com 设置了SSL证书(为 mydomain.com 的一个SSL证书) >以及几个子域(例如 mail.mydomain.com webmail.mydomain.com 等)。

当我尝试使用上述设置从Discourse管理界面发送测试电子邮件时,它给我一个'无效的证书'错误。

因此,我尝试使用以下命令通过openssl s_client进行调试:

openssl s_client -servername mail.mydomain.com -starttls smtp -crlf -connect mail.mydomain.com:587

它通过CN发送 mydomain.com 的SSL证书,如下所示:

subject=CN = mydomain.com

并使用TLS v1.2建立SSL会话

以下是EHLO的奇怪结果:

EHLO mail.mydomain.com
250-xx-xx-xx.webhostbox.net Hello forum.mydomain.com [xx.xx.xx.xx]
250-SIZE 52428800
250-8BITMIME
250-PIPELINING
250-AUTH PLAIN LOGIN
250 HELP

如上面代码中第二行所示,它是从 xx-xx-xx.webhostbox.net 而不是 mail.mydomain.com mydomain.com

我认为这就是为什么我收到“ 无效的证书”错误的原因。

如果我按以下方式更改Discourse SMTP设置(只需更改第一行)

DISCOURSE_SMTP_ADDRESS: xx-xx-xx.webhostbox.net
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: forum-no-reply@mydomain.com
DISCOURSE_SMTP_PASSWORD: "mypassword"
DISCOURSE_SMTP_ENABLE_START_TLS: true           # (optional, default true)

然后一切正常,所有电子邮件都已发送。

有人可以让我知道这个可行的解决方案是否安全吗?我认为这是不安全的,因为我使用的是 xx-xx-xx.webhostbox.net 作为SMTP地址(可能会将电子邮件暴露在风险中)而不是 mail.mydomain.com >。如果这样做不安全,该如何解决此问题?

1 个答案:

答案 0 :(得分:1)

documented by Hostgator一样,使用hostgator服务器full.servername.com的名称而不是您自己的域example.com的名称作为邮件服务器实际上是正确的设置。这是因为邮件服务器不是特定于您的域的,而是用于多个域的公用邮件服务器。

请注意,这与Can't seem to connect to FTPS via Atom editor Remote FTP非常相似,但仅适用于SMTP,而不适用于FTP。我的解释也可以应用于SMTP。