Linux下配置mail使用外部SMTP发送邮件
修改/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.0服务器的内容:
[root@XXXX log]# uname --version
uname (GNU coreutils) 8.4
Copyright (C) 2010 Free Software Foundation, Inc.
许可证:GPLv3+:GNU 通用公共许可证第3 版或更新版本<http://gnu.org/licenses/gpl.html>。
本软件是自由软件:您可以自由修改和重新发布它。
在法律范围内没有其他保证。
由David MacKenzie 编写。
[root@XXXX log]# uname -a
Linux XXXX.com 2.6.32-71.el6.i686 #1 SMP Wed Sep 1 01:26:34 EDT 2010 i686 i686 i386 GNU/Linux
[root@XXXX log]# cd /bin
[root@XXXX bin]# ls -l mail*
lrwxrwxrwx. 1 root root 5 5月 19 2011 mail -> mailx
-rwxr-xr-x 1 root root 374932 2月 16 2010 mailx
[root@XXXX bin]# mail -V
12.4 7/29/08
[root@XXXX mfg]# rpm -qa|grep mail
mailx-12.4-6.el6.i686
procmail-3.22-25.1.el6.i686
sendmail-cf-8.14.4-8.el6.noarch
mailcap-2.1.31-1.1.el6.noarch
sendmail-8.14.4-8.el6.i686
fetchmail-6.3.17-1.el6.i686
以下是 RHEL5.0服务器的内容:
[mfg@XXXX bin]$ uname --version
uname (GNU coreutils) 5.97
Copyright (C) 2006 Free Software Foundation, Inc.
杩欐槸鑷敱杞欢銆傛偍鍙互鎸夌収 GNU GPL 鍗忚 <http://www.gnu.org/licenses
/gpl.html> 鐨勬潯娆惧啀鍙戝竷姝よ蒋浠剁殑鍓湰锛屼絾鎴戜滑鏃犳硶淇濊瘉珏叧娉曞?
嬩笉瀵硅繖涓€鎯呭舰杩闄愬埗銆?
鐢?David MacKenzie 缂栧啓銆?
[mfg@XXXX bin]$ uname -a
Linux XXXX 2.6.18-53.el5 #1 SMP Wed Oct 10 16:34:19 EDT 2007 x86_64 x86_64 x8
6_64 GNU/Linux
[mfg@XXXX bin]$ ls -l mail*
-rwxr-xr-x 1 root mail 84856 2006-07-13 mail
lrwxrwxrwx 1 root root 4 2008-11-11 mailx -> mail
[mfg@XXXX bin]$ mail -V
mail: invalid option -- V
Usage: mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] to-addr ...
[-- sendmail-options ...]
mail [-iInNv] -f [name]
mail [-iInNv] [-u user]
[mfg@XXXX bin]$ rpm -qa|grep mail
fetchmail-6.3.6-1.1.el5
sendmail-cf-8.13.8-2.el5
procmail-3.22-17.1
mailcap-2.1.23-1.fc6
mailx-8.1.1-44.2.2
sendmail-8.13.8-2.el5
在RHEL6\5下,运行mail 和mailx,实际上都是一个命令
Linux 5级以下的版本mail默认使用sendmail发送邮件,关闭sendmail之后将无法发送
而Linux 6中如果在/etc/mail.rc中配置了外部SMTP等信息,则可以使用外部邮箱发送邮件
他们主要区别是使用mailx的版本不一样.Linux 6使用mailx 版本mailx-12.4-6.el6.x86_64,而Linux 5使用mailx版本mailx-8.1.1-44.2.2 。
故为了让linux 5在关闭sendmail的情况下,使用外部SMTP发送mail,需要在Linux5上安装mailx-12.4-6.el6.x86_64.