设为首页 收藏本站
查看: 1635|回复: 0

[经验分享] 带认证的Sendmail安装手记

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-6-5 09:25:39 | 显示全部楼层 |阅读模式
今天受朋友之托,要找一个带认证的smtp服务.原来打算给他搞个imail就得了.谁想他的老大非要他找一个能在linux平台下运行的东东。思前想后,决定给他鼓求个sendmail玩玩。反正这玩意儿我已经好长时间没有琢磨了,该熟悉熟悉啦.先在网上找了资料,是<<RedHat9下带认证的Sendmail>>,我这边正好有一个AS3.0系统的服务器,内核差别不是很大。就拿这篇文章做研究模版吧。
按照要求,下载了一大堆.rpm的包,然后是在我的那台AS3.0上东拆点儿,西装点儿,南补点儿,北拼点儿。总算把所有sendmail必须安的组件都装上了,主要有:imap-2001a-18.i286.rpm
sendmail-8.12.8-4.i386.rpm
m4-1.4.1-13.i386.rpm
cyrus-sasl-2.1.10-4.i386.rpm
cyrus-sasl-md5-2.1.10-4.i386.rpm
cyrus-sasl-plain-2.1.10-4.i386.rpm
cyrus-sasl-gssapi-2.1.10-4.i386.rpm


1.然后就是就是更改/etc/mail/sendmail.mc文件,主要个更改五行内容:define(QUEUE_DIR, `/var/spool/mqueue/q*')
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
DAEMON_OPTIONS(`Port=25, Name=MSA')dnl
文件中,红色字体的行为需要修改的地方,共有五行需要修改。
第一行是手动添加的,与认证无关,作用是启动多个邮件队列,为了获得更好的传输性能。
第二行和第三行是去掉行首的注释。”TRUST_AUTH_MECH”的作用是使sendmail不管access文件中如何设置,都能 relay 那些通过EXTERNAL, LOGIN, PLAIN, CRAM-MD5或DIGEST-MD5等方式验证的邮件,”confAUTH_MECHANISMS" 的作用是确定系统的认证方式。Outlook Express支持的认证方式是LOGIN。
第四行是加上注释,以便让sendmail可以侦听所有网络设备,为整个网络提供服务,而不仅仅只对本机提供服务。
第五行是修改的,原来内容是:
dnl DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl
去掉行首的注释符,并且将内容修改成Port=25:
DAEMON_OPTIONS(`Port=25, Name=MSA')dnl
在smtp的默认端口(25)上进行认证,而不是587端口。这样就强制所有使用该邮件服务器进行邮件转发的用户在认证后才能发邮件了。


2.运行:
# m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
用m4重新生成sendmail.cf文件.中途倒是也出现了不少的错误,还好,3年多的unix/linux安装经验帮了我不少的忙,从sendmail 的源代码包里借了好几组文件,总算把它给装上了.可是,装完以后出问题了。本机器上可以访问它的25口,可换了其他机器就不能访问它的25口拉。咋回事呢?研究来研究去,发现sendmail.mc里面dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
这一行并没有取消它的作用,用netstat -na |grep 25发现监听的还是
127.0.0.1:25,而正常的因该是0.0.0.0:25,没办法,删掉这一行.重新m4.然后重起sendmail,嘿,可以了!

该进行测试了.先用 outlook express实验看看,呀!不允许被转发.估计是access的问题,vi /etc/mail/access
localhost.localdomain           RELAY
localhost                       RELAY
127.0.0.1                       RELAY
添加上我发信端服务器的 IP
然后:makemap -v hash access.db < access
重起sendmail,再发发看,嘿成啦.原来是转发设置的问题.
添加个帐号:
useradd -g 10 -s /usr./bin/passwd
然后使用认证看看,呀,不成呀.不用认证可以发信,用认证反而不成了
tail /var/log/maillog
did not issue MAIL/EXPN/VRFY/ETRN during connection to MSA
认证有问题,咋办?查了半天网,遵从了网上的建议,把access清空,然后生成access.db,既不定啥转发规则,让它从sendmail.cf里面找规则吧.改完后从新测试,没有那个该死的错误拉.不过新的问题来拉,让我反复输入密码,难道我的密码有问题??!
再查阅网上的资料,发现原来还需要启动一个叫saslauthd的服务,"真是活见鬼!"
service sendmail
service sendmail stop
service saslauthd
service saslauthd status
service saslauthd start
service sendmail start

再试试看,好象成了.没有认证的时候,显示失败,有了认证以后,刷的一下就发出去了.换个错误的密码看看,认证失败.恩,这还查不多.

看看表,快24点了.老天,又要过凌晨了.就研究到这里吧.
明天准备抽时间彻底重新安装一遍!



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-20196-1-1.html 上篇帖子: MailBee电子邮件发送接收pop3/IMAP4/SMTP套件MailBee Objects 下篇帖子: 关于sendmail报错“did not issue MAIL/EXPN/VRFY/ETRN during connection to 认证 手记
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表