我试图设置我的sendmail来validation中继(comcast)。 我没有看到任何尝试进行身份validation。 我试图只debugging身份validation如何工作,并不能连接所有件…
我有,在我的.mc文件中:
define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl define(`SMART_HOST', `relay:smtp.comcast.net.')dnl define(`confAUTH_MECHANISMS', `PLAIN')dnl FEATURE(`authinfo',`hash /etc/mail/client-info')dnl
在我的/ etc / mail / client-info中:
AuthInfo:*.comcast.net "U:root" "I:comcast_user" "P:comcast_password"
现在,我知道u / p的一切都很好,因为我可以使用telnet直接通过SMTP进行身份validation。
有两件事我不明白。
当searchAuthInfologging时,它们与目标主机名相匹配。 怎么样? 它是使用映射键(我所期望的),还是使用所谓的“域”(“R:”参数,我没有在我的auth-info行中设置)
什么是“U:”,真的吗? Sendmail的README( http://www.sendmail.org/m4/smtp_auth.html )表示它是“user(authoraztion id)”,而“I:”是“authentication ID”。 这表明我的用户名实际上应该是“U:”,但是http://www.sendmail.org/~ca/email/auth.html表示“我:”是您的远程用户名。
会议看起来像这样:
[root@manticore]/etc/mail# sendmail -qf -v Warning: Option: AuthMechanisms requires SASL support (-DSASL) Running /var/spool/mqueue/p97CgcWq023273 (sequence 1 of 399) [email protected]... Connecting to smtp.comcast.net. port 587 via relay... 220 omta19.westchester.pa.mail.comcast.net comcast ESMTP server ready >>> EHLO my.host.name 250-omta19.westchester.pa.mail.comcast.net hello [my.ip.add.res], pleased to meet you 250-HELP 250-AUTH LOGIN PLAIN 250-SIZE 15728640 250-ENHANCEDSTATUSCODES 250-8BITMIME 250-STARTTLS 250 OK >>> STARTTLS 220 2.0.0 Ready to start TLS >>> EHLO my.host.name 250-omta19.westchester.pa.mail.comcast.net hello [my.ip.add.res], pleased to meet you 250-HELP 250-AUTH LOGIN PLAIN 250-SIZE 15728640 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 OK >>> MAIL From:<> SIZE=2183 550 5.1.0 Authentication required MAILER-DAEMON... aliased to postmaster postmaster... aliased to root root... aliased to [email protected] postmaster... aliased to root root... aliased to [email protected] >>> RSET 250 2.0.0 OK [root@manticore]/etc/mail# sendmail -d0.1 Version 8.14.3 Compiled with: DNSMAP LOG MAP_REGEX MATCHGECOS MILTER MIME7TO8 MIME8TO7 NAMED_BIND NETINET NETINET6 NETUNIX NEWDB NIS PIPELINING SCANF SOCKETMAP STARTTLS TCPWRAPPERS USERDB XDEBUG
谢谢,帕维尔。
如果使用FEATURE(`authinfo'),则映射条目中的主机名必须完全匹配ISP邮件服务器的主机名
请参阅您的SMART_HOST +客户端信息
什么是“U:”,真的吗?
那么, SMTP身份validation在纯英文状态
U用户( 授权 )ID
我身份validation ID
…
用户或身份validation标识必须存在以及密码。 所有其他条目都有默认值。 如果 缺less用户或身份validationID 之一 ,则将使用现有值作为缺less的项目。
我的解决scheme非常简单。 默认的OpenBSD sendmail没有设置SASL标志,并且不能进行任何authentication,甚至纯文本。 我其实希望SASL只用于“高级”authentication。 我的-d0.1输出清楚地显示没有SASL标志。
对于那些有同样问题的人来说:这个页面(模糊不清)(这不是一步一步的解释, to-fix-OpenBSD-sendmail-for-SASL页面)解释了必要的步骤。 基本上, – 下载用户级源,并用-DSASL标志重buildsendmail。
PS我认为,“U:”确实是运行sendmail的用户,其中“I:”是用户向客户端进行身份validation。