Chinaunix首页 | 论坛 | 博客
  • 博客访问: 143210
  • 博文数量: 123
  • 博客积分: 5770
  • 博客等级: 大校
  • 技术积分: 1240
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-12 16:31
个人简介

闲情逸致 http://EZ38.com

文章分类

全部博文(123)

文章存档

2014年(1)

2010年(122)

我的朋友
最近访客

分类: LINUX

2010-02-28 20:52:28

[转载]
 

centOS 下 sendmail邮件服务器搭载smtp和pop3认证的配置的方法

 


1.软件准备

操作系统:centos5.0
我选择centos5,最新的操作系统,不要再用redhat9了,很久没有更新了,企业里用有风险的
。更新换代吧。
以下软件,centos5全部自带,无需另外下载。
邮件系统:
            sendmail8.13
            sendmail-cf-8.13
            m4-1.4
pop3认证:dovecot-1.0
smtp认证:
   cyrus-sasl-2.1
   cyrus-sasl-md5-2.1
   cyrus-sasl-plain-2.1
      cyrus-sasl-lib-2.1
sasl这里,我要说一句,网上有人说“sendmail-8.13已经包含cyrus-sasl的功能,所没必要再
安装cyrus-sasl”
大哥大姐们,没有cyrus-sasl用什么做认证.....sendmail官方只是说,sendmail的rpm包默认
已经支持了cyrus-sasl 认证方式,也就是说,sendmail会在cyrus-sasl的工作目录下自动创建
相关认证配置文件,并监听25号端口,就不用你去手动自己建立配置文件和监听端口了。当有
请求进入25号端口的时候,sendmail会自动找到/usr/lib/sasl2/Sendmail.conf读取认证方法
。下面我会详细解释。
 
 
 

2.安装软件

rpm -ivh把上面软件全装上,都在光盘里呢,好装。
 

3.认证配置

pop3:
网上说修改/etc/dovecot.conf文件,将第17行的:#protocols = imap imaps pop3 pop3s的#
去掉。其实不用,它默认已经启用了这些服务,除非你只想用dovecot-auth的认证,你可以改
成protocols = none,否则不用改。
 
 
 
这里要说一句,不要改
dnl DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl
这句话!保持注释状态。
上面那句话,网上好多文章都说把Port=submission,改成Port=25,说是强制所有用户在25端口
上做认证。
我不知道sendmail以前的版本是怎么样设置smtp认证的。sendmail8.13不用这么设置,这句话
人家sendmail的意思是:取消注释后,一旦当25号端口被重定向或者被屏蔽,或者在25号端口
打不开的情况下,马上使用587备用端口给用户做认证。
本来人家sendmail就已经打开了25端口(Port=smtp了已经),你却在这里还Port=25,把备用
端口也改成25,这不是让sendmail的sm-client认
证进程和sendmail的主进程抢端口么....
-----------------------------------------------------------

到此为止,保存sendmail.mc
  
用m4重新生成sendmail.cf文件
  
# m4 /etc/mail/sendmail.mc > /etc/sendmail.cf

启动dovecot进程:
/etc/init.d/dovecot start
 
启动saslauthd进程:
/etc/init.d/saslauthd start
 
启动sendmail进程:
/etc/init.d/sendmail start

把这些进程加入到启动脚本中去:
chkconfig dovecot on
chkconfig saslauthd on
chkconfig sendmail on

ok,所有设置全部完成,可以正常认证和收发邮件了。
 

 

4.smtp测试方法:

 
以下sh#表示在shell上输入;C 为客户端输入, S为服务器端返回信息 。

sh# telnet <邮件服务器地址/IP>
S : 220 localhost.localdomain ESMTP Sendmail 8.13.8/8.13.8; Sun, 18 May 2008
01:55:03 +0800
C : ehlo <名字> (不带认证功能的是helo +名字)
S : 250-localhost.localdomain Hello zhangzb.nec-as.nec.com.cn [172.28.90.9],
pleased to meet you
S : 250-ENHANCEDSTATUSCODES
S : 250-PIPELINING
S : 250-8BITMIME
S : 250-SIZE
S : 250-DSN
S : 250-ETRN
S : 250-AUTH GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN
S : 250-DELIVERBY
S : 250 HELP
C : auth login
S : 334 VXNlcm5hbWU6
注:{ 下面先输入username后passwd,两者需要输入encode base64码,转换方法:
sh# perl -MMIME::Base64 -e 'print encode_base64("username")'
(注意print前后 是单引号,username 处替换成你需要的单词)
}
C : MQ== (这是我的用户名:1)
S : 334 UGFzc3dvcmQ6
C : MQ==   (密码,也是1)
S : 235 2.0.0 OK Authenticated
C : MAIL FROM:<> (部分服务器设置后,需要真实的邮箱后缀名,具体方法不详)

S : 250 2.1.0 <>... Sender ok

C : RCPT TO:<>   (目标邮箱)

S : 250 2.1.5 <>... Recipient ok

C : DATA

S : 354 Enter mail, end with "." on a line by itself
C : 〈这里添邮件内容〉
C :.
 
 
 
阅读(647) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~