我在虚拟服务器(Ubuntu 20.4)上安装了 Dokuwiki(2020-07-29“Hogfather”),并安装了 SMTP 插件(上次更新时间为 2020-11-21)。我的页面使用 certbot 以 HTTPS 加密方式交付。
我想将 dokuwiki 的 SMTP 插件与我提供商的现有邮件服务器一起使用。我填写了必要的凭据:用户名、SMTP 服务器地址、端口 465 和 SSL。
在启用 UFW 的情况下,我从 dokuwiki 收到此调试消息:
与 SMTP 通信时出现意外问题:无法打开 SMTP 端口。SMTP 日志:
设置:服务器 设置:身份验证 设置:将发送一条消息 连接到 465 上的 mysmtp.mailout.server.de
当我停用 UFW(sudo ufw disable)时,dokuwiki 会发送电子邮件。
所以我认为我的 UFW 规则太严格了:
sudo ufw 状态编号
结果是:
状态:活跃
To Action From
- ------ ----
[1] OpenSSH ALLOW IN Anywhere
[2] Apache Full ALLOW IN Anywhere
[3] 21 / tcp ALLOW IN Anywhere
我忘记了什么或者没明白什么?
答案1
如果您的机器上运行着 UFW,则意味着所有连接(您定义的连接除外)都将被阻止。因此,为了确保 SMTP 插件正常工作,您必须确保允许在默认 SMTP 端口上进行通信。现在,我不太确定您的插件使用了其中哪一个,但它应该是以下端口之一:25、465、587 或 2525。
可以查看文档以获取有关您的 SMTP 在哪个端口上运行的更多信息,或者您可以检查日志/tcpdump,或者如果您正在寻找更简单的方法,请启用全部并查看其是否正常工作,然后逐个删除规则,直到发送失败。
答案2
在激活 IPv6 后
sudo nano /etc/default/ufw
它适用于我的前 3 条 UFW 规则