红联Linux门户
Linux帮助

Linux下配置使用外部SMTP发邮件

发布时间:2015-03-30 21:42:36来源:linux网站作者:dadaloveyou

原来使用Linux的sendmail 发邮件,后来做安全的时候把一sendmail服务给关了,导致一直不能发送邮件了。现在我就来配置使用外部SMTP发邮件,这样就不用sendmail了。

原来系统自带有mailx程序,因为我是RedHat5的系统所以不能直接用外部smtp发送邮件,只能升级mailx程序才可以用。所以首先下载mailx包。

mailx-12.4.tar.bz2


解压该文件并进行编译安装:

[root@linuxidc ~]# tar jxvf mailx-12.4.tar.bz2  
mailx-12.4/mailx.spec
mailx-12.4/nail.rc
mailx-12.4/v7.local.c
mailx-12.4/rcv.h
mailx-12.4/md5.h
mailx-12.4/glob.h
mailx-12.4/extern.h
mailx-12.4/def.h
mailx-12.4/version.c
mailx-12.4/vars.c
 ...  

[root@localhost ~]# cd mailx-12.4
[root@localhost mailx-12.4]# make
/bin/sh ./makeconfig
checking if a hello world program can be built ... okay 
checking for <alloca.h> ... okay
checking for alloca() ... okay  
...
[root@localhost mailx-12.4]# make install UCBINSTALL=/usr/bin/install
test -d /usr/local/bin || mkdir -p /usr/local/bin
/usr/bin/install -c mailx /usr/local/bin/mailx  
strip /usr/local/bin/mailx  
test -d /usr/local/share/man/man1 || mkdir -p /usr/local/share/man/man1 
/usr/bin/install -c -m 644 mailx.1 /usr/local/share/man/man1/mailx.1
test -d /etc || mkdir -p /etc
test -f /etc/nail.rc || \
/usr/bin/install -c -m 644 nail.rc /etc/nail.rc 

[root@localhost mailx-12.4]# whereis mailx
mailx: /bin/mailx /usr/local/bin/mailx /usr/share/man/man1p/mailx.1p.gz


在上面我用whereis 命令查看mailx命令的路径,发现第一个还是原来mailx命令的路径,所以直接执行mailx命令的时候还是使用原来的mailx,所以不能发送邮件。

所以我把新的mailx直接替换老的mailx,在这里我先删除原来的,再建一个软链接。

[root@localhost bin]# cd /bin

[root@localhost bin]# rm -rf mailx
[root@localhost bin]# ln -s /usr/local/bin/mailx mailx
[root@localhost bin]# mailx -V
12.4 7/29/08
[root@localhost bin]# cd 
[root@localhost ~]# chkconfig --list |grep sendmail  
sendmail0:off   1:off   2:off   3:on4:off   5:on6:off
[root@localhost ~]# chkconfig --level 35 sendmail off


上面的步骤是安装软件的步骤,下面我们开始配置使能够通过外部SMTP发送邮件。

[Oracle@localhost ~]$ vi /etc/nail.rc
---在文件的最下面添加下面内容。
set from=123456789@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=123456789
set smtp-auth-password=youpassword
set smtp-auth=login


然后通过命令发送邮件:

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

---在这里邮件地址和上面设置的邮件地址是一样的,这样相当于自已给自已发送邮件.