我在 Web 服务器中部署了一个 Web 应用程序,该服务器运行在 CentOS 7 上
。此 Web 应用程序通过外部 SMTP(in-v3.mailjet.com,端口 587)发送电子邮件。
如何启用 CentOS 以连接到该外部 SMTP?
该服务器托管于数字海洋。
答案1
这初段绍克的评论是正确的:
如果您无法通过 telnet 连接到 SMTP 服务器,则连接在网关或服务器级别被阻止。
所以我开了一张票数字海洋的支持,并得到了如下的回应:
为了遏制近期滥用和垃圾邮件的增加,我们对在特定情况下创建的新帐户进行了初始 SMTP 阻止。
为了消除这个阻碍,我们需要进行一些手动账户验证。
请告知我们以下信息:
- 你的名字
- 地点
- 电话号码
- 您请求解除 SMTP 阻止的原因
此外,请尽可能提供以下信息以帮助我们验证您的身份:
- 你的公开 Twitter 帐号
- 你的博客
- 您的公司或个人网站
- 您的公开 Facebook 个人资料
我们非常重视垃圾邮件,因为我们完全遵守 CAN-SPAM 法案。如果您不熟悉,这意味着您不得发送批量电子邮件,除非您维护一份双重授权的订阅成员列表,其中包括 IP 地址和相关联系信息。此外,您必须遵循 CAN-SPAM 法案的指导方针,在所有发送的电子邮件中包含删除链接。
我提供了所有信息,数字海洋已解除对 SMTP 连接的阻止。
答案2
阻止您连接的可能是 SELINUX。要诊断,请按照以下步骤操作:
- 发出
setenforce 0
并重试与 SMTP 服务器的连接 - 如果有效,请通过发出以下命令重新启用 SELINUX
setenforce 1
,并启用所需的特定权限setsebool -P httpd_can_network_connect on