如何使用远程 SMTP 服务器(在 Linux 环境的本地主机上配置为 运行)从 windows 机器发送电子邮件?

How to send an email from a windows machine by using remote SMTP server (configured to run on localhost on Linux environment)?

我在 Windows 机器上有一个应用程序 运行ning。与应用程序相关的警报将通过电子邮件发送给管理员,为此需要通过 Java 程序发送电子邮件。 SMTP 服务器配置在网络中的远程 Linux 机器上。

当 运行 在 Linux 机器上时,Java 邮件程序工作正常并发送电子邮件。但是,如果同一程序在 Windows 上 运行,则无法连接到 SMTP 服务器。

注:

  1. 从远程 windows 服务器 Ping 到 Linux 机器(具有 SMTP 服务器)成功。

  2. Telnet 25 从远程计算机以及 SMTP 所在的计算机失败 运行ning

  3. 从 SMTP 服务器(Linux 服务器)Telnet localhost 25 成功。

通过 Java 程序发送的电子邮件是成功的,如果当主机名指定为 localhost.It 时在 SMTP 服务器上 运行 如果您提供实际的主机名则失败。

/etc/hosts SMTP 服务器上的文件列出 127.0.0.1 本地主机。

如何使用 SMTP 服务器从远程 Windows 机器发送电子邮件?

我可以粘贴 windows 机器上出现的错误,但问题不在于程序;它是配置 SMTP 服务器的方式。我是 SMTP 的新手,所以如果我错了,请随时纠正我。

objective 是使用 Linux 机器上的 SMTP 服务器从远程 windows 机器发送 java 电子邮件。

按照以下评论中的要求添加 netstat -ant|grep :25 的输出:

[root@XXXXXXXXXXX]# netstat -ant | grep :25
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN
tcp        0      0 ::1:25                      :::*                        LISTEN
tcp        0      0 ::ffff:10.207.70.71:1521    ::ffff:10.207.70.71:25481   ESTABLISHED
tcp        0      0 ::ffff:10.207.70.71:25481   ::ffff:10.207.70.71:1521    ESTABLISHED
tcp        0      0 ::ffff:10.207.70.71:25202   ::ffff:10.207.70.71:3001    TIME_WAIT
tcp        0      0 ::ffff:10.207.70.71:25127   ::ffff:10.207.70.71:3001    TIME_WAIT
tcp        0      0 ::ffff:10.207.70.71:25289   ::ffff:10.207.70.71:3001    ESTABLISHED
tcp        0      0 ::1:51432                   ::1:25580                   ESTABLISHED
tcp        0      0 ::1:25580                   ::1:51432                   ESTABLISHED
tcp        0      0 ::ffff:10.207.70.71:25233   ::ffff:10.207.70.71:3001    TIME_WAIT
tcp        0      0 ::ffff:10.207.70.71:3001    ::ffff:10.207.70.71:25289   ESTABLISHED
[root@XXXXXXXXXXX]#

Postfix:接受所有 IP 接口上的 SMTP 连接

您的 SMTP 服务器(后缀)仅在环回接口上接受传入的 SMTP 连接
[IPv4=127.0.0.1 和 IPv6=::1]。

让你的后缀监听所有可用的 IP 接口 -> 在 main.cf 配置文件中恢复默认设置 inet_interfaces = all

http://www.postfix.org/postconf.5.html#inet_interfaces


为什么使用"loopback only"配置?

限制 SMTP 服务器仅接受本地 SMTP 连接是 "workstations" 上非常常见的默认配置。它允许发送电子邮件(例如系统 warnings/notifications)而不接受任何传入的垃圾邮件。