我的设置是本地安装,所以我不指望它能从互联网接收电子邮件。但是我确实希望它能够向互联网发送消息,但似乎做不到。我以前尝试过在 FreeBSD 上进行设置,它可以这样做,但我没有参与机器的设置。我只是负责设置 Horde... 有什么见解吗???
答案1
刚刚注意到您的 Postfix 日志文件的摘录。
如果您的互联网连接属于住宅类型,您的互联网提供商很可能已经阻止了传出的 smtp 流量。
许多 ISP 希望您使用他们的外发 smtp 服务器发送邮件,而不是您自己的服务器。这样,他们客户的机器就不会被滥用来发送垃圾邮件。
请参阅relayhost
postfix配置中的参数。
答案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 错误日志