如何在亚马逊ec2 linux服务器上使用sendmail

我用的是centos 6.4 amazon Ec2实例。 我试过这个,我得到错误

 echo "hello" | sendmail [email protected] sendmail: Cannot open mail:25 

我如何解决这个错误

一些更多的信息

 $ ls -l /usr/sbin/sendmail 139512 lrwxrwxrwx 1 root root 21 Jul 1 15:13 /usr/sbin/sendmail -> /etc/alternatives/mta $ man mta No manual entry for mta 

假设你的防火墙,confs等都是A-OK,你不应该使用EC2来处理与电子邮件相关的任何事情。

大量的EC2网点被几个主要的电子邮件提供商或多或less地永久列入黑名单(或严重惩罚)。

最重要的是,亚马逊也封锁了其中的大部分。

你可以填写一个特殊的表格来请求删除这些限制。但是这并不会将你从其他电子邮件运营商的黑名单中删除。

使用SNS会好一点,但是你肯定想要的是Amazon SES(简单电子邮件服务),尽pipe它处于testing阶段。

该端口被防火墙,AWS安全组或两者阻止,但可能只是另一个正在运行的进程。

也许另一个MTA正在使用端口25? 例如Exim,Postfix,Qmail。 试试netstat -tulpn | grep :25 netstat -tulpn | grep :25

另外,请确保没有端口过滤function受到阻碍:

  • 检查不应该有出站端口块的IPTables,至less启用25
  • 检查应用于EC2实例的安全组,所有端口的出站stream量通常都打开到所有地址,至less启用25

请注意,为了获得全部function,需要启用udp端口53和tcp端口53。