Linux下的mail \ mailx为什么无法使用外部SMTP发邮件

有时为了达到某种需求统一使用某一SMTP服务器作为发送邮件报告。

通常的做法都是,关闭本机的sendmail服务,修改/etc/mail.rc,增加一下类似两行,指定外部的smtp服务器地址、帐号密码等。

# vi /etc/mail.rc   set from=demo@qq.com smtp=smtp.qq.com   set smtp-auth-user=demo smtp-auth-password=ithf smtp-auth=login  

然后通过命令来发送邮件

echo  hello word | mail -s "demo title" demo@qq.com  

可是发现在RHEL6运行是没有问题,在RHEL5下,mail命令始终是调用本地的sendmail服务来发送邮件的。到底RHEL6和RHEL5下的mail和mailx又有着什么关系呢?

RHEL6下

mail  链接到 mailx 命令,mailx版本为12.4

# rpm -qa|grep mailx   mailx-12.4-6.el6.x86_64   # ll /bin/mail*   lrwxrwxrwx. 1 root root      5  7月 22 2011 /bin/mail -> mailx   -rwxr-xr-x. 1 root root 390424  2月 16 2010 /bin/mailx   # mail -V   12.4 7/29/08  

RHEL5下,则发现了一些不同

mailx  链接到  mail 命令,mailx版本为8.1

# rpm -qa|grep mailx   mailx-8.1.1-44.2.2   # ll /bin/mail*   -rwxr-xr-x 1 root mail 84856 Jun  6  2007 /bin/mail   lrwxrwxrwx 1 root root     4 Apr 12 18:03 /bin/mailx -> mail   # mail -V     此处运行就会出错,没有-V这个参数  

也就是说,在RHEL6\5下,运行mail 和mailx,实际上都是一个命令,而mail版本不同,导致了RHEL5下mail命令无法调用外部SMTP服务器。

安装mailx新版本可解决此问题。

mailx官方站点

下载最新版本mailx-12.4.tar.bz2 (271.5 kB)    ?source=files

解压、安装。下载的压缩包里有安装说明(见INSTALL 文件)。默认安装是make ; make install

同时安装说明也说了,如果make install 出错,则换为 make install UCBINSTALL=/usr/bin/install命令试试。

命令:

# tar jxvf mailx-12.4.tar.bz2   # cd mailx-12.4   # make   # make install UCBINSTALL=/usr/bin/install  

我在make install很长时间没有反应,只有Ctrl + C 中断了,输入make install UCBINSTALL=/usr/bin/install 则可以成功安装

查看mailx程序默认安装位置、及版本

# whereis mailx   mailx: /usr/local/bin/mailx /usr/share/man/man1p/mailx.1p.gz   # mailx -V   12.4 7/29/08  

安装后的mailx使用的是 /etc/nail.rc 配置,不是 /etc/mail.rc 这个需要注意下。
用mailx命令测试发送邮件

# echo hello word | mailx -v -s "demo title" demo@qq.com  

成功发送的话,就可以看到类似的提示

235 2.7.0 Authentication successful   >>> MAIL FROM:<demo@qq.com>   250 2.1.0 Ok   >>> RCPT TO:<xxxxx@qq.com>   250 2.1.5 Ok   >>> DATA   354 End data with <CR><LF>.<CR><LF>   >>> .   250 2.0.0 Ok: queued as 9291963494   >>> QUIT   221 2.0.0 Bye  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/15a9aa400bb2b086f9a45574077c65f6.html