带SMTP认证功能的sendmail配置 sasl库

原创 2001年05月29日 11:31:00

带SMTP认证功能的sendmail配置

  环境: Redhat linux 6.0(内核2.2.14)
sendmail-8.10.2
cyrus-sasl-1.5.21
Outlook express 5.0


一、准备工作

1.首先要下载sasl库,该函数库提供了安全认证所需函数,下载地址是
(ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/ ),版本1.5.21。

2.下载sendmail(http://www.sendmail.org),版本在8.10.0以上的sendmail才支持
SMTP认证功能。
3.注意选择客户端电子邮件软件。并不是所有的客户端电子邮件软件都支持SMTP认证功
能,几种常见的

版本要求是这样的:
Netscape Messenger 的版本要4.6以上
Outlook和Outlook Express要5.0版本以上
Eudora pro的版本要在4.3以上
Foxmail目前还不支持这个功能。
每一种软件的认证方法是不一样的,编译sasl库的时候和配置sendmail略有不同。
我就大家最常见的
Outlook Express 5.0的设置方法介绍如下。

二、安装sasl库

1.解压cyrus-sasl-1.5.21.tar.gz到你选定的目录
2.cd cyrus-sasl-1.5.21
3 ./configure --enable-login --with-pwcheck
Outlook Expresss使用LOGIN的认证方法,sasl库缺省并不支持这种方式,所以要在生
成配置文件时特别加入,另外,Outlook的口令验证方式也不是缺省的方式,所以也需要
加入--with-pwcheck的选项。
下面就可以编译和安装sasl库了。
make
make install
4.缺省情况下,所有的库函数安装到/usr/local/lib目录下,但sendmail使用的库函数
是在目录/usr/lib下的,所以需要做一些调整。
cd /usr/lib
ln /usr/local/lib/sasl/ ./sasl -s
cp /usr/local/lib/libsa* .
也可以避开这一步,在第3步时候运行configure脚本前,修改其中的缺省路径就可以了。
打开configure文件找到这一行ac_default_prefix=/usr/local(在文件前几行),改为

ac_default_prefix=/usr 就可以了,这样更方便一些。
5.新建目录/var/pwcheck,供pwcheck命令使用,该命令是一个后台程序,负责检查用户
的输入口令,
以root权限件使用shadow口令文件。
6.在/usr/lib/sasl目录下建立文件Sendmail.conf,加入如下一行
pwcheck_method:pwcheck
这样sasl库函数的安装就完成了。

三、编译和配置sendmail

1.解压sendmail软件到你希望的目录,进入sendmail-8.10.2目录。
在devtools/Site/目录下创建config.site.m4文件,加入如下两行文字,把SMTP认证
功能编译到sendmail中。
APPENDDEF(`confENVDEF', `-DSASL')
APPENDDEF(`conf_sendmail_LIBS', `-lsasl')
2.回到sendmail-8.10.2目录,再进入sendmail目录,开始编译sendmail。
./Build -c(如果不是第一次编译,需要加入-c选项,清除以前的配置)
编译成功后,运行./Build install安装软件。
3.下一步需要改写Sendmail的配置文件。回到上一级目录,再进入cf/cf目录,找到合适
的.mc文件(具体做法
参见其他文章,这些不在本文讨论范围中)。按照你的要求适当修改,加入如下几行:

TRUST_AUTH_MECH(`LOGIN PLAIN DIGEST-MD5')
define(`confAUTH_MECHANISMS', `LOGIN PLAIN DIGEST-MD5')
dnl define(`confDEF_AUTH_INFO', `/etc/mail/auth/auth-info')
FEATURE(`no_default_msa')
DAEMON_OPTIONS(`Port=25, Name=MSA, M=Ea')
说明:"TRUST_AUTH_MECH"的作用是使sendmail不管access文件中如何设置,都能
relay那些通过LOGIN,PLAIN或DIGEST-MD5方式验证的邮件。
"confAUTH_MECHANISMS"的作用是确定系统的认证方式。
"confDEF_AUTH_INFO"的作用是当你的计算机作为客户机时,向另外一台有smtp认
证功能的主机进行认证,用户和密码存放在auth-info文件中,在这个例子中并不需要这
个功能,所以注释掉了。
4.编译生成/etc/mail/sendmail.cf文件
m4 xxxx.mc >/etc/mail/sendmail.cf,不过记住一定要备份旧的sendmail.cf文件,
否则就可能麻烦了。
5.现在基本上可以了,启动sendmail让我们来测试一下吧
sendmail -bd -q20m

运行下面命令
telnet localhost 25
ehlo localhost
注意有没有以下的信息出现.
250-xxxxxxxx
250-xxxxxxx
250-AUTH LOGIN PLAIN DIGEST-MD5
250-xxxxxx

可能会略有不同,不过你选定的认证方式一定要有的。
如果显示没有问题,恭喜你!服务器端的配置你已经成功了。如果没有出现上面的信息,
请运行

sendmail -O loglevel=14 -bs

仔细检查问题所在。
在结束服务器端的配置之前,我们还要做一件事,运行pwcheck这个daemon程序,这样才
能完成用户认证功能。
pwcheck &

四、Outlook Express 5.0 的配置

1.打开你的Outlook Express,修改你的账号属性,在服务器选项,选取我的smtp服务
器需要认证选项,然后进入配置。
2.不要选取安全口令认证,sendmail并不支持这个选项。是选取使用pop3同样的口令
还是选择另外输入用户和密码,这就看你的爱好和设置了,这不是关键。如果你在
服务器上有一个真实账号,不妨选取使用同样的口令,如果没有账号,选用其他的
用户口令同样可以。

OK,Let's try it!

原作者:不详 

Zimbra安装成功后,邮件发送失败!!急!!发生错误 (mail.TRY_AGAIN),原因不详。

method:[unknown]msg:try again: Unable to connect to the MTAcode:mail.TRY_AGAINdetail:soap:Receivertr...
  • SOFT2030
  • SOFT2030
  • 2011年05月10日 14:49
  • 2277

zimbra启用SMTP认证并绑定认证登录和发件人

说明:配置目的:用户发送邮件必须通过smtp认证,认证通过后,用户发送邮件时的发件人必须和通过认证的用户相一致,才能发送邮件,防止伪造发件人发送邮件 另外,由于zimbra版本的不同,导致针对该问题的...
  • u012460952
  • u012460952
  • 2013年12月12日 11:19
  • 1989

Sendmail SMTP 认证配置 (FreeBSD 8.0)

因配置邮件发送服务器需要,开始配置sendmail,其中自然就涉及到 SMTP认证的配置。 FreeBSD系统本身已经安装了sendmail,不过因 需要SMTP认证功能,所以一切都要重新配置。 ...
  • hellyhe
  • hellyhe
  • 2010年06月06日 00:37
  • 1175

zimbra配置启用SMTP认证

配置SMTP认证          zimbra邮件系统安装完成后开启的是TLS认证功能,没有开始postfix的SMTP认证功能。open relay对公网上所有的用户开放,意味着垃圾邮件...
  • zzban
  • zzban
  • 2015年09月10日 13:10
  • 4147

Zimbra 8.7.11规则:只能发送内部邮件

公司架设内网邮箱,要求:内网收发正常、可以接受外网邮件,不可以发送邮件到外网邮箱。(其实就是通过限制收件人的域名来达到不能发送外网邮箱的目的)...
  • qq_38209584
  • qq_38209584
  • 2017年06月29日 10:00
  • 768

数字证书, 数字签名, SSL(TLS) , SASL

数字证书, 数字签名, SSL(TLS) , SASL 因为项目中要用到TLS + SASL 来做安全认证层. 所以看了一些网上的资料, 这里做一个总结.  1. 首先推荐几个文章: ...
  • salonzhou
  • salonzhou
  • 2014年06月27日 18:51
  • 1310

关于linux mail和sendmail的研究与学习

作为系统与用户的交互工具,mail有着很重要的作用,系统或者程序可以把一些关键事件或消息放在mail中,供用户查看。作为一个linux脚本开发人员和系统维护人员,了解mail命令和使用sendmail...
  • MINEZHANGHAO
  • MINEZHANGHAO
  • 2014年02月14日 16:32
  • 4380

centos下安装memcached并启用SASL功能

启用SASL验证机制 SASL全称Simple Authentication and Security Layer,是一种用来扩充C/S模式验证能力的机制。 简单来说SASL是一个胶合(glue)库...
  • learner198461
  • learner198461
  • 2017年06月12日 13:58
  • 879

集群Kafka配置SASL用户名密码认证

转载请注明出处:http://blog.csdn.net/u012842205/article/details/73188684 本文中配置的kafka集群为三节点,Zookeeper有4节点。两...
  • ZHBR_F1
  • ZHBR_F1
  • 2017年06月21日 14:42
  • 1659

CentOS发送邮件(sendmail/mstmp)方法总结

我们先要知道一定的是CentOS默认不能发送邮件,需要发送邮件的我们要先安装一个sendmail程序,如果不使用sendmail来操作,我们还可以使用mstmp来发,下面我来一一介绍。 先来看使...
  • shaobingj126
  • shaobingj126
  • 2013年08月07日 10:22
  • 29519
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:带SMTP认证功能的sendmail配置 sasl库
举报原因:
原因补充:

(最多只允许输入30个字)