Chinaunix首页 | 论坛 | 博客
  • 博客访问: 649154
  • 博文数量: 780
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 4885
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-22 16:14
文章分类

全部博文(780)

文章存档

2008年(780)

我的朋友

分类: LINUX

2008-08-22 16:16:17


在配置sendmail的smpt验证时,碰到了不少麻烦事,最后总算搞定了。有时只是一些简单的操作,却是因为没有文档,导致配置工作的进展困难。这里记录下一些配置过程中忽略的小事情。

1.安装。debian系统安装软件都非常方便。

sudoapt-getinstallsendmail

不记得这个命令是否安装sendmail-bin,如果没有的话继续

sudoapt-getinstallsendmail-bin

2.安装sasl2

sudoapt-getinstallsasl2-bin

3.配置smtp的验证

配置主要集中在sendmail.mc文件。

a)将MTA-v4的监听地址去掉,这样就可以监听所有地址。修改后如下:

dnlDAEMON_OPTIONS(`Family=inet6,Name=MTA-v6,Port=smtp,Addr=::1'')dnl
DAEMON_OPTIONS(`Family=inet,Name=MTA-v4,Port=smtp'')dnl
dnlDAEMON_OPTIONS(`Family=inet6,Name=MSP-v6,Port=submission,Addr=::1'')dnl
DAEMON_OPTIONS(`Family=inet,Name=MSP-v4,Port=submission'')dnl

b)添加验证参数如下:

TRUST_AUTH_MECH(`DIGEST-MD5LOGINPLAIN'')
define(`confAUTH_MECHANISMS'',`DIGEST-MD5LOGINPLAIN'')

直接添加到上面MTA的配置底下即可。

c)修改访问配置。使用了smtp验证后,就可以忽略access的配置。所以要将/etc/mail/access里面的配置内容清空。如果不清空,会出现不使用smpt验证也可以发送邮件的情况。

所有修改完毕后使用sendmailconfig命令,一路选择缺省即可。最后这个命令会reloadsendmail。

4.验证安装和配置

启动sendmail后,telnetlocalhost25,在出现的控制台,输入命令ehlolocalhost

查看输出信息:

250-ENHANCEDSTATUSCODES
250-PIPELINING
250-EXPN
250-VERB
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTHDIGEST-MD5LOGINPLAIN
250-DELIVERBY
250HELP

如果出现上面红色的字,表明已经可以了。

5.验证邮件发送。

配置好smtp验证后,在本地域的邮件发送还是可以不通过smtp验证直接发送。要验证smtp是否配置成功,必须发送到域外的邮箱如gmail邮箱。

一些容易碰到的问题:

1)sendmail配置好后,从别的机器telnet25端口,连接被拒绝。

原因:这是由于缺省sendmail绑定到127.0.0.1的25端口,所以从别的机器telnet192.168.0.23025并不能访问25端口。

解决:搜索sendmail.mc文件,将其中的

DAEMON_OPTIONS(`Family=inet,Name=MTA-v4,Port=smtp'',Addr=127.0.0.1)dnl

修改为

DAEMON_OPTIONS(`Family=inet,Name=MTA-v4,Port=smtp'',Addr=0.0.0.0)dnl

或者DAEMON_OPTIONS(`Family=inet,Name=MTA-v4,Port=smtp'')dnl

2)看到250-AUTHDIGEST-MD5LOGINPLAIN的标志,却还是不能使用smtp验证发送邮件

原因:可能未安装sasl2

解决办法:安装sasl2

sudoapt-getinstallsasl2-bin

安装完成后,在文件/etc/default/saslauthd文件中,找到START=no,修改为START=yes

修改完后/etc/init.d/saslauthdstart

3)配置好后,可以使用smtp验证发送邮件,不使用smtp验证也能够发送邮件

原因:发送和接收邮件在域内,如果发送的邮件地址不在域内,则可能是/etc/mail/access文件未清空。

解决:将/etc/mail/access文件清空。

要注意的一点:

修改任何配置,需要重新启动sendmail,建议使用命令sendmailconfig启动。 下载本文示例代码
阅读(417) | 评论(0) | 转发(0) |
0

上一篇:Ubuntu 7.10的配置

下一篇:在Ubuntu上的QQ2007

给主人留下些什么吧!~~