站長部落格 - lutuni 的日誌 |
![]() ![]() |
2010/03/23
Ubuntu smtp验证配置
作者: lutuni (8:12 am)
|
Ubuntu smtp验证配置 =========================================================== 作者: yeahokay(http://yeahokay.itpub.net) 发表于: 2008.04.08 17:25 分类: linux(Ubuntu) 出处: http://yeahokay.itpub.net/post/11939/459273 --------------------------------------------------------------- 在配置sendmail 的smpt验证时,碰到了不少麻烦事,最后总算搞定了。有时只是一些简单的操作,却是因为没有文档,导致配置工作的进展困难。这里记录下一些配置过程中忽略的小事情。 sudo apt-get install sendmail(其中已经包含了sendmail-bin) sudo apt-get install sasl2-bin 配置主要集中在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 注意:localhost主要还是看/etc/hosts文件,一般(具体就不清楚,就我的机器是localhost:127.0.0.1,而具体做 mail服务的是ubuntu:192.168.20.6)是打上Aliases名称,如打上IP Address就是不认。 查看输出信息: 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启动。 |
本篇文章引用網址
http://123.204.89.156/etype/modules/weblog/weblog-tb.php/31