CentOS 5 上的 Horde:无法发送出站消息?

CentOS 5 上的 Horde:无法发送出站消息?

我的设置是本地安装,所以我不指望它能从互联网接收电子邮件。但是我确实希望它能够向互联网发送消息,但似乎做不到。我以前尝试过在 FreeBSD 上进行设置,它可以这样做,但我没有参与机器的设置。我只是负责设置 Horde... 有什么见解吗???

答案1

刚刚注意到您的 Postfix 日志文件的摘录。

如果您的互联网连接属于住宅类型,您的互联网提供商很可能已经阻止了传出的 smtp 流量。

许多 ISP 希望您使用他们的外发 smtp 服务器发送邮件,而不是您自己的服务器。这样,他们客户的机器就不会被滥用来发送垃圾邮件。

请参阅relayhostpostfix配置中的参数。

答案2

Centos 5 默认启用了 SELinux。使用命令getenforce可以确定 SELinux 是否已启用。

如果启用了 SELinux,则需要更改 Web 服务器的安全设置。默认情况下,Web 服务器守护程序及其运行的任何脚本都无法建立任何网络连接,而您需要建立网络连接才能发送电子邮件。

根据 Horde 使用的机制,启用邮件功能可能就足够了:

setsebool httpd_can_sendmail=on

或者您需要允许更多常规网络访问。

setsebool httpd_can_network_connect=on

答案3

检查 Horde 服务器上是否已安装并运行 SMTP 服务器。最简单的检查方法是通过 Horde 服务器上的 SSH 会话:

telnet localhost 25

如果 SMTP 服务器没有运行,您将收到“连接被拒绝”的提示 - 在这种情况下,请从您的软件包存储库安装类似 Sendmail 之类的程序。

答案4

您的邮件有可能被当作垃圾邮件退回吗?尝试通过 telnet 发送测试电子邮件,看看是否有效。

首先,您需要找到您要发送到的域的 MX;对于 gmail.com,它们如下:

gmail.com 邮件交换器 = 5 gmail-smtp-in.l.google.com。
 gmail.com 邮件交换器 = 10 alt1.gmail-smtp-in.l.google.com。
 gmail.com 邮件交换器 = 20 alt2.gmail-smtp-in.l.google.com。
 gmail.com 邮件交换器 = 30 alt3.gmail-smtp-in.l.google.com。
 gmail.com 邮件交换器 = 40 alt4.gmail-smtp-in.l.google.com。

连接到其中一个并输入以下每个命令:

$ telnet gmail-smtp.in.1.google.com 25
EHLO 你的域名.com
邮件发件人:[电子邮件保护]
收件地址:[电子邮件保护]
数据
主题:测试
测试

如果您收到错误消息,那就是您的问题。如果一切顺利,问题很可能出在 Horde 上 - 如果这是我正在考虑的 Webmail 客户端,请检查您的 HTTP 错误日志

相关内容