我在Windows机器上运行了一个应用程序。与应用程序相关的警报将通过电子邮件发送给管理员,为此需要通过Java程序发送电子邮件。SMTP服务器配置在网络中的远程Linux计算机上。
Java程序运行良好,并在Linux机器上运行时发送电子邮件。但是,如果同一程序在Windows上运行,则无法连接到SMTP服务器。
注意:
如果在指定主机名为localhost.It时在SMTP服务器上运行,如果给出实际主机名,则Java程序的电子邮件是成功的。
SMTP服务器上的/etc/host文件列出了127.0.0.1本地主机。
如何使用SMTP服务器从远程Windows计算机发送电子邮件?
我可以粘贴windows机器上出现的错误,但问题不是程序,而是SMTP服务器的配置方式。我是SMTP的新手,所以如果我错了,请随时纠正我。
目的是使用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]#发布于 2015-10-12 12:52:41
后缀:接受所有IP接口上的SMTP连接
SMTP服务器(后缀)仅在回送接口上接受传入的SMTP连接。
IPv4=127.0.0.1和IPv6=::1.
让您的后缀侦听所有可用的IP接口,->在main.cf配置文件中恢复默认设置inet_interfaces = all
为什么使用“只回送”配置?
限制SMTP服务器仅接受本地SMTP连接是“工作站”上相当常见的默认配置。它允许发送电子邮件(例如系统警告/通知),而不接受任何传入的垃圾邮件。
https://stackoverflow.com/questions/33062285
复制相似问题