![25 端口被阻塞时如何处理 sendmail 队列?](https://linux22.com/image/660736/25%20%E7%AB%AF%E5%8F%A3%E8%A2%AB%E9%98%BB%E5%A1%9E%E6%97%B6%E5%A6%82%E4%BD%95%E5%A4%84%E7%90%86%20sendmail%20%E9%98%9F%E5%88%97%EF%BC%9F.png)
我有一个 VPS,可以将电子邮件从一个邮箱转发到另一个邮箱。不幸的是,ISP 上周封锁了 25 端口,从那时起我就无法从它那里收到任何电子邮件。根据 mailq,有 9000 多封邮件正在等待。我需要以某种方式处理邮件队列。VPS 安装了 CentOS 并使用 sendmail 来传递邮件。
您对解决这个问题有什么建议?
答案1
如果传出端口 25 被阻止,您将无法发送电子邮件,因为您将无法连接到远程 MX。我会在不同的托管提供商中设置一台允许发送电子邮件的机器,并将其设置为从您的 VPS 中继到不同的端口(例如:1025),然后您可以配置您的 sendmail 将所有电子邮件转发到该机器。为此,您需要添加
define(`SMART_HOST',`relay:your.new.machine.com')dnl
define(`RELAY_MAILER',`esmtp')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 1025')dnl
应用该配置并使用以下命令刷新队列:
# ensure you have the package sendmail-cf installed
/etc/mail/make
service sendmail restart
sendmail -q -v
请记住,这 9,000 封电子邮件将从另一台机器发送,因此它们可能会被视为垃圾邮件或被目的地丢弃,但这是另一个问题。