ubuntu gutsy sendmail smtp验证配置

在配置sendmail  的smpt验证时,碰到了不少麻烦事,最后总算搞定了。有时只是一些简单的操作,却是因为没有文档,导致配置工作的进展困难。这里记录下一些配置过程中忽略的小事情。
1.安装。debian系统安装软件都非常方便。
    sudo apt-get install sendmail
    不记得这个命令是否安装sendmail-bin,如果没有的话继续
    sudo apt-get install sendmail-bin
2.安装sasl2
    sudo apt-get install sasl2-bin
3.配置smtp的验证
    配置主要集中在sendmail.mc文件。
    a)将MTA-v4的监听地址去掉,这样就可以监听所有地址。修改后如下:
dnl DAEMON_OPTIONS(`Family=inet6, Name=MTA-v6, Port=smtp, Addr=::1')dnl
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp')dnl
dnl DAEMON_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-MD5 LOGIN PLAIN')
define(`confAUTH_MECHANISMS',`DIGEST-MD5 LOGIN PLAIN')
    直接添加到上面MTA的配置底下即可。
    c)修改访问配置。使用了smtp验证后,就可以忽略access的配置。所以要将/etc/mail/access里面的配置内容清空。如果不清空,会出现不使用smpt验证也可以发送邮件的情况。
    所有修改完毕后使用sendmailconfig命令,一路选择缺省即可。最后这个命令会reload sendmail。
4.验证安装和配置
    启动sendmail后,telnet localhost 25,在出现的控制台,输入命令ehlo localhost
    查看输出信息:
 250-ENHANCEDSTATUSCODES
250-PIPELINING
250-EXPN
250-VERB
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH DIGEST-MD5 LOGIN PLAIN
250-DELIVERBY
250 HELP
如果出现上面红色的字,表明已经可以了。
5.验证邮件发送。
    配置好smtp验证后,在本地域的邮件发送还是可以不通过smtp验证直接发送。要验证smtp是否配置成功,必须发送到域外的邮箱如gmail邮箱。
一些容易碰到的问题:
    1)sendmail配置好后,从别的机器telnet 25端口,连接被拒绝。
       原因:这是由于缺省sendmail绑定到127.0.0.1的25端口,所以从别的机器telnet 192.168.0.230 25 并不能访问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-AUTH DIGEST-MD5 LOGIN PLAIN的标志,却还是不能使用smtp验证发送邮件
       原因:可能未安装sasl2
       解决办法:安装sasl2
                         sudo apt-get install sasl2-bin
       安装完成后,在文件/etc/default/saslauthd文件中,找到START=no,修改为START=yes
       修改完后/etc/init.d/saslauthd start
    3)配置好后,可以使用smtp验证发送邮件,不使用smtp验证也能够发送邮件
       原因:发送和接收邮件在域内,如果发送的邮件地址不在域内,则可能是 /etc/mail/access文件未清空。
       解决:将 /etc/mail/access文件清空。
要注意的一点:
    修改任何配置,需要重新启动sendmail,建议使用命令 sendmailconfig启动。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值