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

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

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

mailx-12.4.tar.bz2

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

[root@sjpthy01 ~]# 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                                                                                       
sendmail        0:off   1:off   2:off   3:on    4:off   5:on    6: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 
---在这里邮件地址和上面设置的邮件地址是一样的,这样相当于自已给自已发送邮件.

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。