从 LAN PC 发送电子邮件到本地电子邮件服务器

从 LAN PC 发送电子邮件到本地电子邮件服务器

首先我要说的是:我不确定我到底需要什么。我在 Google 上搜索了“sendmail LAN”及其变体,似乎我需要一个“空客户端”设置。所以这是我的假设,而不是我的要求(因此标题不太明确)

简而言之:我有一台运行 XMail 服务器(最新版)的 centos (v6) 服务器,它托管几个域的电子邮件,包括收发邮件。我在 LAN 中有一台 PC,可以为其托管的帐户提供 SMTP 和 POP 服务。服务器本身可以向本地用户(例如来自 cron 作业)和域用户发送电子邮件。

我们称之为“服务器”。

现在我需要配置一个现有的 CentOS 服务器(v5)来发送其本地(cronjob)电子邮件(脚本使用 sendmail)以及 php 脚本以便能够发送电子邮件(但这些通常配置 smtp 用户/密码,所以这应该很好;我还没有走那么远)

我们称之为“客户端”。

在“客户端”上,我基于以下内容配置了一个空客户端 sendmail :http://www.faqs.org/docs/securing/chap22sec177.html

null.mc 中只有这 4 行,域名更改为我的(我们使用 example.com)

OSTYPE('linux')dnl
DOMAIN('generic')dnl
FEATURE('nullclient','example.com')dnl
undefine('ALIAS_FILE')dnl

/etc/hosts 中有一行将 example.com 映射到“服务器”的 LAN IP。(Ping 响应正常)。此外,端口 25 上的 telnet 连接和响应正常。

然后我发出

#sendmail -v [email protected] < /tmp/email.txt

结果是

[email protected]... Connecting to [127.0.0.1] via relay...
[email protected]... Deferred: Connection refused by [127.0.0.1]

这可能是一个愚蠢的问题,但为什么它试图连接到 localhost 而不是 LAN 上的 example.com?这难道不是我需要的空客户端配置吗?还是我遗漏了教程中未涵盖的一些内容?

谢谢。

答案1

我无法帮助您配置整个服务器,因为我以前没有配置过这种东西,但是关于为什么它连接到 127.0.0.1 的问题我可以解释一下。

sendmail 是邮件客户端,按您所说的方式调用时即可。想象一下它的工作方式与 thunderbird 或 outlook 相同 - 它仍需要连接到 MTA 才能发送电子邮件。

在这种情况下,MTA(邮件服务器)实际上是同一台服务器 - 其地址是 127.0.0.1。

如果您从外部电子邮件地址向服务器上配置的地址发送电子邮件,您会看到相同的“奇怪现象” - 它会在服务器的“公共”IP 上接收从 127.0.0.1 的连接回到 127.0.0.1 以进行交易的“传递”阶段。

相关内容