我在 Media Temple 有一个 (dv) 专用虚拟机,运行 Parallels/Plesk。
下列的此指令,我能够打开一个附加端口并配置使用端口 80 作为 SMTP 外发邮件服务器。我的客户经常出差,他们发现许多 ISP 阻止端口 25 和 587,这让他们很沮丧。
这很好,外发电子邮件需要身份验证,但使用端口 80 成功发送。但是,现在当我尝试访问域时,Apache 没有响应。它只是挂起。大概是邮件服务器在 Apache 之前接收了请求。
我想继续使用端口 80 发送外发电子邮件,因为端口 80 几乎在所有地方都开放。有什么想法可以让我将其保持为 SMTP 开放吗?和路由/隧道到 Apache(或反之亦然),以便两者都可以使用端口 80?
这是我在 /etc/xinetd.d/smtp_alternate 创建的文件的内容:
service smtp
{
service = smtp_alternate
type = UNLISTED
port = 80
socket_type = stream
protocol = tcp
wait = no
disable = no
user = root
instances = UNLIMITED
env = SMTPAUTH=1 SHORTNAMES=1
server = /var/qmail/bin/tcp-env
server_args = -Rt0 /usr/sbin/rblsmtpd -r sbl.spamhaus.org /var/qmail/bin/relaylock /var/qmail/bin/qmail-smtpd /var/qmail/bin/smtp_auth /var/qmail/bin/true /var/qmail/bin/cmd5checkpw /var/qmail/bin/true
}
答案1
您的问题似乎混淆了传入和传出的流量。
您不能运行多个(类型的)服务器来监听 IP 地址和端口 - 客户端通过这种方式知道要连接的位置。Apache 并非没有响应 - 如果它正在运行,它无法看到端口 80 上的流量,因为您的邮件服务器正在使用它。
您首先应该联系您的 ISP,以查明哪些传入端口未被阻止。
如果失败,如果您尚未使用 HTTPS,可以尝试 443;如果您未运行 DNS 服务器,可以尝试 42;如果您未运行 pop3,可以尝试 110;如果您未运行 imap,可以尝试 143;然后尝试一些 1024 以上的端口号。
答案2
Apache 是一个绑定在端口 80 上的 Web 服务器。您已在端口 80 上设置了一个 SMTP 服务器。唯一的解决方案是使用另一个端口进行 STMP,并且您 100% 确定该端口不会被其他任何东西使用。
您链接的教程在端口 2525 上进行设置。为什么不使用它呢?
service smtp
{
service = smtp_alternate
type = UNLISTED
port = 2525
socket_type = stream
protocol = tcp
wait = no
disable = no
user = root
instances = UNLIMITED
env = SMTPAUTH=1 SHORTNAMES=1
server = /var/qmail/bin/tcp-env
server_args = -Rt0 /usr/sbin/rblsmtpd -r sbl.spamhaus.org /var/qmail/bin/relaylock /var/qmail/bin/qmail-smtpd /var/qmail/bin/smtp_auth /var/qmail/bin/true /var/qmail/bin/cmd5checkpw /var/qmail/bin/true
}