自己的邮件系统 搭建的最终目的不是 谁想发就可以发的 ,而是为通过身份验证的用户去提供服务 。

使用Cyrus SASL 简单认证安全层 实现     RHEL5.0默认装这个包了

rpm -qa | grep cyrus

postfix系统通过调用 Cyrus SASL 的函数库 使用Cyrs SASL 提供的验证后台程序saslauthd验证帐号

要用验证的话需要对Cyrus SASL设置    同时也需要对main.cf调整

1:设置Cryus SASL函数库  启动saslauthd服务

 

  1. cp /usr/lib/sasl2/Sendmail.conf /usr/lib/sasl2/smtpd.conf  
  2. vi /usr/lib/sasl2/smtpd.conf  
  3. pwcheck_method: saslauthd  
  4. service saslauthd start  
  5. chkconfig --level 3 5 saslauthd on 

2:修改main.cf文件

 

  1. vi /etc/postfix/main.cf  
  2. smtpd_sasl_auth_enable = yes     
  3. smtpd_sasl_security_options = noanonymous  //禁止匿名登录  
  4. mynetworks = 127.0.0.1  
  5. smtpd_recipient_restrictions =  //收件人地址过滤 逐条匹配  
  6.  
  7. permit_mynetworks,  
  8. permit_sasl_authenticated,  
  9. reject_unauth_destination  
  10.  
  11. 确认后  postfix reload   重新加载 

好了验证的话需要加密的用户名和密码

 

  1. printf "chunchun" |openssl base64  
  2. printf "123456" |openssl base64 

会得到加密字符串

 

  1. telnet mail.exampl.com 25  
  2. helo localhost  
  3. //看到250-AUTH PLAIN LOGIN 表示支持认证  
  4. AUTH LOGIN  
  5. 用户名的加密码  
  6. 密码