0

我在一个非常严格的网络上进行了远程系统设置。不幸的是,我还没有找到一种方法让他们运行电子邮件中继,或者让系统连接出去发送邮件。

没有办法连接,而是系统使用 SSH 连接(通过 HTTPS 代理发生)并使用 -R 标志将我们系统上的端口转发回远程系统,以便我们登录。

我不知道让 sendmail 使用 https 代理进行出站连接的方法。相反,我使用 -L 将 localhost:2525 转发到我们的邮件服务器,但我不知道如何让 sendmail 将其用作其智能中继。

我的 mc 文件中有以下内容

define(`SMART_HOST', `[10.10.22.4]')
define(`RELAY_MAILER_ARGS', `TCP $h 2525')

10.10.22.4 是系统的 IP 地址,我也试过 127.0.0.1 得到相同的结果..

邮件日志看起来像..

Jun 16 06:50:36 remotehost sm-mta[49702]: starting daemon (8.12.9p2): SMTP+queueing@00:30:00
Jun 16 06:50:36 remotehost sm-msp-queue[49703]: starting daemon (8.12.9p2): queueing@00:30:00
Jun 16 06:51:52 remotehost sendmail[50072]: r5G6poHi050072: from=user, size=46, class=0, nrcpts=1, msgid=<201306160651.r5G6poHi050072@remotehost>, relay=user@localhost
Jun 16 06:51:54 remotehost sm-mta[50129]: r5G6pqM2050129: from=<user@remotehost>, size=373, class=0, nrcpts=1, msgid=<201306160651.r5G6poHi050072@remotehost>, proto=ESMTP, daemon=Daemon0, relay=localhost [127.0.0.1]
Jun 16 06:51:54 igarashi1 sendmail[50072]: r5G6poHi050072: to=user@outside.host, ctladdr=user (19999/19999), delay=00:00:04, xdelay=00:00:02, mailer=relay, pri=30041, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (r5G6pqM2050129 Message accepted for delivery)
Jun 16 06:52:05 remotehost sm-mta[50137]: r5G6pqM2050129: to=<user@outside.host>, ctladdr=<user@remotehost> (19999/19999), delay=00:00:11, xdelay=00:00:11, mailer=esmtp, pri=30368, relay=mail.outside.host. [203.31.81.10], dsn=4.0.0, stat=Deferred: Connection reset by mail.outside.host.

即它似乎忽略了智能继电器部分。是的,我检查了 cf 文件是否正在更改 :) 我还完全重新启动了 sendmail(不仅仅是发送了 HUP)。

4

1 回答 1

0

建议修复:
在智能主机定义中指定邮件程序:

define(`SMART_HOST', `relay:[10.10.22.4]')

说明:
我假设[10.10.22.4]是本地 IP 接口的 IP 地址。它使其列在 sendmail 的本地电子邮件域列表 ( $=w) 中。Sendmail 忽略“无邮件”中继到中列出的名称/地址$=w。(Sendmail 在 MailerToTriple 规则集中执行此操作)。

于 2013-06-16T07:18:18.087 回答