知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

LINUX下通过外部SMTP发邮件(直接抛弃sendmail和postfix)

发布时间:2014-09-05 15:51:13作者:知识屋


LINUX下通过外部SMTP发邮件(直接抛弃sendmail和postfix)
 
至于sentmail和postfix的配置有多么麻烦老衲在这里就不多废话了...
反正老衲是配置了N个小时,最终弄的头晕眼花也没弄好...
 
下面的方法可以让你完全摆脱这两个工具...当然,你要是想做邮件服务器的话就令当别论了...
你要是只想让服务器自动发个邮件什么的,用下面的就行了
   www.zhishiwu.com  
通常的做法都是,关闭本机的sendmail服务或者postfix服务,
 
#执行下面的命令,各位大侠都对号入座吧
#sendmial
service sendmail stop
chkconfig sendmail off
#postfix
service postfix stop
chkconfig postfix off
 
#再狠一点就直接卸载吧..
yum remove sendmail
yum remove postfix
  www.zhishiwu.com  
 
然后修改/etc/mail.rc,增加一下类似N行,指定外部的smtp服务器地址、帐号密码等。
  
1 # vi /etc/mail.rc  
2  set from=123456@qq.com
3  set smtp=smtp.qq.com  
4  set smtp-auth-user=123456
5  set smtp-auth-password=sbsbsbsb
6  set smtp-auth=login  
 
然后通过命令来发送邮件
echo  hello word | mail -s " title" 123456@qq.com  
 
可是发现在RHEL6运行是没有问题,在RHEL5下,mail命令始终是调用本地的sendmail服务来发送邮件的。
到底RHEL6和RHEL5下的mail和mailx又有着什么关系呢?
 www.zhishiwu.com  
RHEL6下
 
mail  链接到 mailx 命令,mailx版本为12.4
# rpm -qa|grep mailx  
mailx-12.4-6.el6.x86_64  
# ll /bin/mail*  www.zhishiwu.com  
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新版本可解决此问题。
下载地址:
代开这个网站。自己选一个下载地址
1 http://www.filewatcher.com/m/mailx-12.4.tar.bz2.271482.0.0.html
下载后
 # tar jxvf mailx-12.4.tar.bz2  
 # cd mailx-12.4  
 # make  
 # make install UCBINSTALL=/usr/bin/install 
查看mailx程序默认安装位置、及版本
 # whereis mailx    www.zhishiwu.com  
 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 这个需要注意下。vi编辑,按下G  ,然后在行尾添加如下N行
    # vi /etc/nail.rc  (看出亮点了吗?)
 2  set from=123456@qq.com
 3  set smtp=smtp.qq.com  
 4  set smtp-auth-user=123456
 5  set smtp-auth-password=sbsbsbsb
 6  set smtp-auth=login  
 然后通过命令来发送邮件
echo  hello word | mailx -v -s " title" 123456@qq.com 
 
就收到邮件了.... 哥比较懒,就不给你截图了...反正我是收到了。
 
成功发送的话,就可以看到类似的提示
 235 2.7.0 Authentication successful  
 >>> MAIL FROM:<demo@qq.com>  
 250 2.1.0 Ok    www.zhishiwu.com  
 >>> 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
 
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜