sendmail 错误“中继被拒绝。需要正确的身份验证。(状态 14)。”

sendmail 错误“中继被拒绝。需要正确的身份验证。(状态 14)。”

我对 sendmail 完全是个新手,现在我安装了 sendmail,对其进行了配置(据我所知)添加了本地主机名,添加了访问条目,添加了 virtuser 条目,在 iptables 中打开了端口 25。

我的 DNS 指向我的服务器!

现在,当我从互联网上的另一个位置连接并使用 telnet server.com 25 并使用手动 SMTP 命令(HELO、MAIL From 等)时,邮件就会发送并到达正确的用户。但当我使用另一个客户端并且它被(例如谷歌)中继时,我会收到此错误:

拒绝中继。需要进行正确的身份验证。(状态 14)。

我忘记了什么设置?我需要发布任何配置文件以便您能帮助我吗?我使用 CentOS 5.5 和最新的 sendmail rpm

本地主机名:

localhost
localhost.localdomain
footballmatcher.com

使用权:

Connect:localhost.localdomain           RELAY
Connect:localhost                       RELAY
Connect:127.0.0.1                       RELAY    
footballmatcher.com     OK

domaintable = 空 mailertable = 空 trustusers = 空 virtusertable = 空

sendmail.mc(从 webmin 中提取,因此第一行单词不是真实的)

Entry type  Line in configuration file  Move
Other   divert(-1)dnl   
Other   dnl #   
Other   dnl # This is the sendmail macro config file for m4. If you make changes to 
Other   dnl # /etc/mail/sendmail.mc, you will need to regenerate the    
Other   dnl # /etc/mail/sendmail.cf file by confirming that the sendmail-cf package is  
Other   dnl # installed and then performing a   
Other   dnl #   
Other   dnl # make -C /etc/mail 
Other   dnl #   
Other   include(`/usr/share/sendmail-cf/m4/cf.m4')dnl   
Other   VERSIONID(`setup for linux')dnl 
OS Type OSTYPE(`linux')dnl  
Other   dnl #   
Other   dnl # Do not advertize sendmail version.    
Other   dnl #   
Other   dnl define(`confSMTP_LOGIN_MSG', `$j Sendmail; $b')dnl  
Other   dnl #   
Other   dnl # default logging level is 9, you might want to set it higher to    
Other   dnl # debug the configuration   
Other   dnl #   
Other   dnl define(`confLOG_LEVEL', `9')dnl 
Other   dnl #   
Other   dnl # Uncomment and edit the following line if your outgoing mail needs to  
Other   dnl # be sent out through an external mail server:  
Other   dnl #   
Other   dnl define(`SMART_HOST', `smtp.your.provider')dnl   
Other   dnl #   
Define  define(`confDEF_USER_ID', ``8:12'')dnl  
Other   dnl define(`confAUTO_REBUILD')dnl   
Define  define(`confTO_CONNECT', `1m')dnl   
Define  define(`confTRY_NULL_MX_LIST', `True')dnl   
Define  define(`confDONT_PROBE_INTERFACES', `True')dnl  
Define  define(`PROCMAIL_MAILER_PATH', `/usr/bin/procmail')dnl  
Define  define(`ALIAS_FILE', `/etc/aliases')dnl 
Define  define(`STATUS_FILE', `/var/log/mail/statistics')dnl    
Define  define(`UUCP_MAILER_MAX', `2000000')dnl 
Define  define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl 
Define  define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl   
Define  define(`confAUTH_OPTIONS',`A')  
Other   dnl #   
Other   dnl # The following allows relaying if the user authenticates, and disallows    
Other   dnl # plaintext authentication (PLAIN/LOGIN) on non-TLS links   
Other   dnl #   
Other   dnl #   
Other   dnl # PLAIN is the preferred plaintext authentication method and used by    
Other   dnl # Mozilla Mail and Evolution, though Outlook Express and other MUAs do  
Other   dnl # use LOGIN. Other mechanisms should be used if the connection is not   
Other   dnl # guaranteed secure.    
Other   dnl # Please remember that saslauthd needs to be running for AUTH.  
Other   dnl #   
Other   TRUST_AUTH_MECH(`LOGIN PLAIN')dnl   
Define  define(`confAUTH_MECHANISMS',`LOGIN PLAIN') 
Other   dnl #   
Other   dnl # Rudimentary information on creating certificates for sendmail TLS:    
Other   dnl # cd /etc/pki/tls/certs; make sendmail.pem  
Other   dnl # Complete usage:   
Other   dnl # make -C /etc/pki/tls/certs usage  
Other   dnl #   
Other   dnl define(`confCACERT_PATH', `/etc/pki/tls/certs')dnl  
Other   dnl define(`confCACERT', `/etc/pki/tls/certs/ca-bundle.crt')dnl 
Other   dnl define(`confSERVER_CERT', `/etc/pki/tls/certs/sendmail.pem')dnl 
Other   dnl define(`confSERVER_KEY', `/etc/pki/tls/certs/sendmail.pem')dnl  
Other   dnl #   
Other   dnl # This allows sendmail to use a keyfile that is shared with OpenLDAP's  
Other   dnl # slapd, which requires the file to be readble by group ldap    
Other   dnl #   
Other   dnl define(`confDONT_BLAME_SENDMAIL', `groupreadablekeyfile')dnl    
Other   dnl #   
Other   dnl define(`confTO_QUEUEWARN', `4h')dnl 
Other   dnl define(`confTO_QUEUERETURN', `5d')dnl   
Other   dnl define(`confQUEUE_LA', `12')dnl 
Other   dnl define(`confREFUSE_LA', `18')dnl    
Define  define(`confTO_IDENT', `0')dnl  
Other   dnl FEATURE(delay_checks)dnl    
Feature FEATURE(`no_default_msa', `dnl')dnl 
Feature FEATURE(`smrsh', `/usr/sbin/smrsh')dnl  
Feature FEATURE(`mailertable', `hash -o /etc/mail/mailertable.db')dnl   
Feature FEATURE(`virtusertable', `hash -o /etc/mail/virtusertable.db')dnl   
Feature FEATURE(redirect)dnl    
Feature FEATURE(always_add_domain)dnl   
Feature FEATURE(use_cw_file)dnl 
Feature FEATURE(use_ct_file)dnl 
Other   dnl #   
Other   dnl # The following limits the number of processes sendmail can fork to accept  
Other   dnl # incoming messages or process its message queues to 20.) sendmail refuses  
Other   dnl # to accept connections once it has reached its quota of child processes.   
Other   dnl #   
Other   dnl define(`confMAX_DAEMON_CHILDREN', `20')dnl  
Other   dnl #   
Other   dnl # Limits the number of new connections per second. This caps the overhead   
Other   dnl # incurred due to forking new sendmail processes. May be useful against 
Other   dnl # DoS attacks or barrages of spam. (As mentioned below, a per-IP address    
Other   dnl # limit would be useful but is not available as an option at this writing.) 
Other   dnl #   
Other   dnl define(`confCONNECTION_RATE_THROTTLE', `3')dnl  
Other   dnl #   
Other   dnl # The -t option will retry delivery if e.g. the user runs over his quota.   
Other   dnl #   
Feature FEATURE(local_procmail, `', `procmail -t -Y -a $h -d $u')dnl    
Feature FEATURE(`access_db', `hash -T<TMPF> -o /etc/mail/access.db')dnl 
Feature FEATURE(`blacklist_recipients')dnl  
Other   EXPOSED_USER(`root')dnl 
Other   dnl #   
Other   dnl # For using Cyrus-IMAPd as POP3/IMAP server through LMTP delivery uncomment 
Other   dnl # the following 2 definitions and activate below in the MAILER section the  
Other   dnl # cyrusv2 mailer.   
Other   dnl #   
Other   dnl define(`confLOCAL_MAILER', `cyrusv2')dnl    
Other   dnl define(`CYRUSV2_MAILER_ARGS', `FILE /var/lib/imap/socket/lmtp')dnl  
Other   dnl #   
Other   dnl # The following causes sendmail to only listen on the IPv4 loopback address 
Other   dnl # 127.0.0.1 and not on any other network devices. Remove the loopback   
Other   dnl # address restriction to accept email from the internet or intranet.    
Other   dnl #   
Other   DAEMON_OPTIONS(`Port=smtp,Name=MTA')dnl 
Other   dnl #   
Other   dnl # The following causes sendmail to additionally listen to port 587 for  
Other   dnl # mail from MUAs that authenticate. Roaming users who can't reach their 
Other   dnl # preferred sendmail daemon due to port 25 being blocked or redirected find 
Other   dnl # this useful.  
Other   dnl #   
Other   dnl DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl    
Other   dnl #   
Other   dnl # The following causes sendmail to additionally listen to port 465, but 
Other   dnl # starting immediately in TLS mode upon connecting. Port 25 or 587 followed 
Other   dnl # by STARTTLS is preferred, but roaming clients using Outlook Express can't 
Other   dnl # do STARTTLS on ports other than 25. Mozilla Mail can ONLY use STARTTLS    
Other   dnl # and doesn't support the deprecated smtps; Evolution <1.1.1 uses smtps 
Other   dnl # when SSL is enabled-- STARTTLS support is available in version 1.1.1. 
Other   dnl #   
Other   dnl # For this to work your OpenSSL certificates must be configured.    
Other   dnl #   
Other   dnl DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl   
Other   dnl #   
Other   dnl # The following causes sendmail to additionally listen on the IPv6 loopback 
Other   dnl # device. Remove the loopback address restriction listen to the network.    
Other   dnl #   
Other   dnl DAEMON_OPTIONS(`port=smtp,Addr=::1, Name=MTA-v6, Family=inet6')dnl  
Other   dnl #   
Other   dnl # enable both ipv6 and ipv4 in sendmail:    
Other   dnl #   
Other   dnl DAEMON_OPTIONS(`Name=MTA-v4, Family=inet, Name=MTA-v6, Family=inet6')   
Other   dnl #   
Other   dnl # We strongly recommend not accepting unresolvable domains if you want to   
Other   dnl # protect yourself from spam. However, the laptop and users on computers    
Other   dnl # that do not have 24x7 DNS do need this.   
Other   dnl #   
Feature FEATURE(`accept_unresolvable_domains')dnl   
Other   dnl #   
Other   dnl FEATURE(`relay_based_on_MX')dnl 
Other   dnl #   
Other   dnl # Also accept email sent to "localhost.localdomain" as local email. 
Other   dnl #   
Other   LOCAL_DOMAIN(`localhost.localdomain')dnl    
Other   dnl #   
Other   dnl # The following example makes mail from this host and any additional    
Other   dnl # specified domains appear to be sent from mydomain.com 
Other   dnl #   
Other   dnl MASQUERADE_AS(`mydomain.com')dnl    
Other   dnl #   
Other   dnl # masquerade not just the headers, but the envelope as well 
Other   dnl #   
Other   dnl FEATURE(masquerade_envelope)dnl 
Other   dnl #   
Other   dnl # masquerade not just @mydomainalias.com, but @*.mydomainalias.com as well  
Other   dnl #   
Other   dnl FEATURE(masquerade_entire_domain)dnl    
Other   dnl #   
Other   dnl MASQUERADE_DOMAIN(localhost)dnl 
Other   dnl MASQUERADE_DOMAIN(localhost.localdomain)dnl 
Other   dnl MASQUERADE_DOMAIN(mydomainalias.com)dnl 
Other   dnl MASQUERADE_DOMAIN(mydomain.lan)dnl  
Mailer  MAILER(smtp)dnl 
Mailer  MAILER(procmail)dnl 
Other   dnl MAILER(cyrusv2)dnl  

答案1

根据您的 sendmail.mc,您的 sendmail 设置支持 SMTP 身份验证和 STARTTLS。当您在端口 25 上“手动”(telnet)连接时,您未使用任何这些选项。但是,您的客户端似乎设置为连接到您的 sendmail 服务器并使用 SMTP 身份验证或 STARTTLS(或两者),并且您的服务器虽然声称支持这些选项,但配置不正确。

让您的客户端连接到服务器的端口 25,并取消选中启用 STARTTLS、SSL、TLS 或 SMTP-AUTH 的任何选项。您的另一个选择是在阅读sendmail 文档

答案2

使用 SMTP 授权(本地登录名和密码):

AUTH PLAIN base64("\000email\000password")

或者在 /etc/mail/access 中接受中继你的 IP

192.168.1.1             RELAY

然后创建映射“makemap hash /etc/mail/access.db < /etc/mail/access”

相关内容