虚拟服务器上的电子邮件无法正常工作

我使用的是德国提供商 Hosteurope 的虚拟服务器。该虚拟服务器上未安装 MTA Postfix。安装过程非常简单。执行 ./launcher bootstrap app 和 ./launcher start app 后,应用即可启动。

我运行了 ./discourse-doctor,并收到以下信息:

输入用于邮件测试的邮箱地址?(输入 ‘n’ 跳过)[test@example.com]:
正在向 test@example.com 发送邮件…
正在使用 wpxxx.mailout.server-he.de:25test@example.com 测试发送。
SMTP 服务器连接成功。
正在向 test@example.com 发送邮件…
邮件已被 SMTP 服务器接受。

如果您未收到该邮件,请检查您的垃圾邮件文件夹,
或使用 http://www.mail-tester.com/ 等服务再次测试。

如果邮件未送达,这并非 Discourse 的问题。

请检查 SMTP 服务器日志以了解发送失败的原因。
正在替换:SMTP_PASSWORD
正在替换:LETSENCRYPT_ACCOUNT_EMAIL
正在替换:DEVELOPER_EMAILS
正在替换:DISCOURSE_DB_PASSWORD

以下是 app.yml 的部分内容:

  DISCOURSE_SMTP_ADDRESS: wpxxx.mailout.server-he.de
  DISCOURSE_SMTP_PORT: 25
  #DISCOURSE_SMTP_USER_NAME:
  #DISCOURSE_SMTP_PASSWORD:
  #DISCOURSE_SMTP_ENABLE_START_TLS: true  # (可选,默认为 true)
  #DISCOURSE_SMTP_AUTHENTICATION: login

你检查过垃圾邮件文件夹吗?

你尝试过发送给 mail-tester 了吗?

是的,我已将邮件发送至 mail-tester。看起来 SMTP 服务器已接受该邮件,但未能将其投递给收件人?

==================== 邮件测试 ====================
要进行全面的测试,请访问 http://www.mail-tester.com/ 获取一个测试地址。
或者,只需向自己发送一封测试邮件。
请输入用于邮件测试的邮箱地址(输入 'n' 跳过)[]: test-2v7z63ww6@srv1.mail-tester.com
正在向 test-2v7z63ww6@srv1.mail-tester.com 发送邮件...
正在使用 wp10750459.mailout.server-he.de:25 向 test-2v7z63ww6@srv1.mail-tester.com 发送测试邮件。
SMTP 服务器连接成功。
正在向 test-2v7z63ww6@srv1.mail-tester.com 发送邮件...
邮件已被 SMTP 服务器接受。

如果您未收到该邮件,请检查您的垃圾邮件文件夹,
或使用类似 http://www.mail-tester.com/ 的服务再次测试。

如果邮件未成功投递,则问题并非出在 Discourse 上。

请检查 SMTP 服务器日志,以了解邮件投递失败的原因。
正在替换:SMTP_PASSWORD
正在替换:LETSENCRYPT_ACCOUNT_EMAIL
正在替换:DEVELOPER_EMAILS
正在替换:DISCOURSE_DB_PASSWORD
正在替换:Sending mail to

==================== 完成!====================

情况确实如此。您需要查看邮件服务器的日志。在邮件服务器上,它们已接收但并未投递这些消息。

问题是,我是否需要在虚拟服务器上安装邮件服务器?我认为不需要在虚拟服务器上安装邮件服务器。我想使用提供商的 SMTP 服务器。但这些端口是关闭的。我应该安装哪个邮件服务器?

telnet 178.77.102.5 25
正在尝试 178.77.102.5...
telnet: 无法连接到远程主机:连接被拒绝

nmap -PN -p 25,110,143,465,587,993,995 178.77.102.5

启动 Nmap 7.01 ( https://nmap.org ),时间为 2021-01-07 16:45 CET
Nmap 扫描报告:lvps178-77-102-5.dedicated.hosteurope.de (178.77.102.5)
主机已启用(延迟 0.0058 秒)。
端口      状态      服务
25/tcp   关闭      smtp
110/tcp  关闭      pop3
143/tcp  关闭      imap
465/tcp  关闭      smtps
587/tcp  关闭      submission
993/tcp  关闭      imaps
995/tcp  关闭      pop3s

Nmap 完成:扫描了 1 个 IP 地址(1 个主机在线),耗时 0.23 秒

[root@lvps178-77-102-5 ~]# yum list installed | grep mail
配置中列出了多次基础仓库
配置中列出了多次更新仓库
配置中列出了多次额外仓库
配置中列出了多次 centosplus 仓库
fetchmail.x86_64                               6.3.24-7.el7                     已安装
mailcap.noarch                                  2.1.41-2.el7                     已安装
mailx.x86_64                                     12.5-19.el7                      已安装
procmail.x86_64                                 3.22-36.el7_4.1                已安装
sendmail.x86_64                                 8.14.7-6.el7                     已安装
sendmail-cf.noarch                            8.14.7-6.el7                     已安装
sendmail-doc.noarch                           8.14.7-6.el7                     已安装
[root@lvps178-77-102-5 ~]#
[root@lvps178-77-102-5 ~]# ss -tanup
网络类型 状态          接收队列 发送队列                                              本地地址:端口                                                                     对端地址:端口
tcp    监听        0         128                                                                     *:22                                                                                        *:*                            用户:((\"sshd\",pid=396,fd=3))
tcp    监听        0         128                                                                     *:3000                                                                                     *:*                            用户:((\"docker-proxy\",pid=841,fd=4))
tcp    监听        0         128                                                                     *:443                                                                                       *:*                            用户:((\"docker-proxy\",pid=783,fd=4))
tcp    监听        0         128                                                                     *:2045                                                                                     *:*                            用户:((\"docker-proxy\",pid=3321,fd=4))
tcp    监听        0         128                                                                     *:80                                                                                        *:*                            用户:((\"docker-proxy\",pid=851,fd=4))
tcp    监听        0         128                                                                     *:81                                                                                        *:*                            用户:((\"docker-proxy\",pid=829,fd=4))
tcp    已建立       0         0                                                       178.77.102.5:22                                                                     185.243.70.181:39124                      用户:((\"sshd\",pid=16868,fd=3))
tcp    监听        0         128                                                                [::]:22                                                                                    [::]:*                            用户:((\"sshd\",pid=396,fd=4))

如果您想安装和运行邮件服务器,请另行查找相关方法。这超出了我们在此提供的支持范围。

看起来您正在使用 wp10750459.mailout.server-he.de 作为您的邮件服务器?因此,正是该服务器接收了您的邮件但未能成功投递。您需要查看该服务器上的日志以查明原因。

最简单的解决方案是使用 Mailgun 或类似的服务。