Smtp sendmail无法将电子邮件中继到其他服务器

Smtp sendmail无法将电子邮件中继到其他服务器,smtp,sendmail,emailrelay,Smtp,Sendmail,Emailrelay,我在server1和server2上都安装了sendmail。它们使用相同的配置文件:sendmail.mc。我可以使用电脑上的电子邮件客户端向同一服务器上的用户发送/接收邮件,但无法向另一服务器上的用户发送电子邮件。例如,我无法向发送电子邮件bbb@server2domain.com从…起aaa@server1domain.com使用电子邮件客户端。我已将电脑的ip地址添加到server1上的/etc/mail/access(连接:zz.zz.zz.zz中继)并重建了access.db。查看/

我在server1和server2上都安装了sendmail。它们使用相同的配置文件:sendmail.mc。我可以使用电脑上的电子邮件客户端向同一服务器上的用户发送/接收邮件,但无法向另一服务器上的用户发送电子邮件。例如,我无法向发送电子邮件bbb@server2domain.com从…起aaa@server1domain.com使用电子邮件客户端。我已将电脑的ip地址添加到server1上的/etc/mail/access(连接:zz.zz.zz.zz中继)并重建了access.db。查看/var/log/maillog,server1上的sendmail成功地接受了来自PC的邮件,但在连接到server2时等待了很长时间

4月3日07:21:06 server1 sendmail[19771]:v33BKxfr019769:server1.xxxxx.com上的SMTP传出连接

然后超时:

4月3日07:26:06 server1 sendmail[19771]:v33BKxfr019769:等待server2domain.com输入超时。在客户问候时

4月3日07:26:06服务器1发送邮件[19771]:v33BKxfr019769:to=,ctladdr=(501/501),延迟=00:05:04,延迟=00:05:00,邮件=esmtp,优先级=121178,中继=server2domain.com。[yy.yy.yy.yy],dsn=4.0.0,stat=Deferred:与server2domain.com的连接超时

在server2上,日志为:

Apr 3 07:18:02 server2 sendmail[20121]:v33BI2Os020121:分配的id

Apr 3 07:18:02 server2 sendmail[20121]:NOQUEUE:从[xx.xx.xx.xx]连接

Apr 3 07:18:02 server2 sendmail[20121]:AUTH:available mech=ANONYMOUS, 允许的机械=外部GSSAPI KERBEROS_V4摘要-MD5 CRAM-MD5

Apr 3 07:18:02 server2 sendmail[20121]:v33BI2Os020121:Milter:无有源滤波器

Apr 3 07:23:02 server2 sendmail[20121]:STARTTLS=server,info:fds=6/4,err=5

Apr 3 07:23:02 server2 sendmail[20121]:STARTTLS=server,错误:接受失败=0,SSL_错误=5,错误号=0,重试=-1,中继=[xx.xx.xx.xx]

Apr 3 07:23:02 server2 sendmail[20121]:v33BI2Os020121:断开1级连接

Apr 3 07:23:02 server2 sendmail[20121]:v33BI2Os020121:在后台,pid=20121

Apr 3 07:23:02 server2 sendmail[20121]:v33BI2Os020121:[xx.xx.xx.xx]在连接到MTA-SSL期间未发出MAIL/EXPN/VRFY/ETRN

我可以使用openssl命令成功地将电子邮件发送到server1上的server2,无需输入用户名/密码。 sendmail.mc是:

divert(-1)dnl
include(`/usr/share/sendmail-cf/m4/cf.m4')dnl
VERSIONID(`setup for linux')dnl
OSTYPE(`linux')dnl
define(`confDEF_USER_ID', ``8:12'')dnl
define(`confTO_CONNECT', `1m')dnl
define(`confTRY_NULL_MX_LIST', `True')dnl
define(`confDONT_PROBE_INTERFACES', `True')dnl
define(`PROCMAIL_MAILER_PATH', `/usr/bin/procmail')dnl
define(`ALIAS_FILE', `/etc/aliases')dnl
define(`STATUS_FILE', `/var/log/mail/statistics')dnl
define(`UUCP_MAILER_MAX', `2000000')dnl
define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl
define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl
define(`confAUTH_OPTIONS', `A')dnl
define(`confCACERT_PATH', `/etc/pki/tls/certs')dnl
define(`confCACERT', `/etc/pki/tls/certs/ca-bundle.crt')dnl
define(`confSERVER_CERT', `/etc/pki/tls/certs/sendmail.pem')dnl
define(`confSERVER_KEY', `/etc/pki/tls/certs/sendmail.pem')dnl
define(`confCRL', `/etc/pki/tls/certs/revoke.crl')
define(`confCLIENT_CERT', `/etc/pki/tls/certs/sendmail.pem')
define(`confCLIENT_KEY', `/etc/pki/tls/certs/sendmail.pem')
define(`confTO_IDENT', `0')dnl
FEATURE(`no_default_msa', `dnl')dnl
FEATURE(`smrsh', `/usr/sbin/smrsh')dnl
FEATURE(`mailertable', `hash -o /etc/mail/mailertable.db')dnl
FEATURE(`virtusertable', `hash -o /etc/mail/virtusertable.db')dnl
FEATURE(redirect)dnl
FEATURE(always_add_domain)dnl
FEATURE(use_cw_file)dnl
FEATURE(use_ct_file)dnl
FEATURE(local_procmail, `', `procmail -t -Y -a $h -d $u')dnl
FEATURE(`access_db', `hash -T<TMPF> -o /etc/mail/access.db')dnl
FEATURE(`blacklist_recipients')dnl
EXPOSED_USER(`root')dnl
DAEMON_OPTIONS(`Family=inet, Port=465, Name=MTA-SSL, M=s')dnl
CLIENT_OPTIONS(`Family=inet')dnl
FEATURE(`accept_unresolvable_domains')dnl
LOCAL_DOMAIN(`localhost.localdomain')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 465')
define(`ESMTP_MAILER_ARGS', `TCP $h 465')
MAILER(smtp)dnl
MAILER(procmail)dnl
分流(-1)dnl
包括(`/usr/share/sendmail cf/m4/cf.m4')dnl
VERSIONID(`setup for linux')dnl
OSTYPE(`linux')dnl
定义(`confDEF_USER_ID',`8:12')dnl
定义(`confTO_CONNECT',`1m')dnl
定义(`confTRY\u NULL\u MX\u LIST',`True')dnl
定义(`confDONT_PROBE_INTERFACES',`True')dnl
定义(`PROCMAIL\u MAILER\u PATH',`/usr/bin/PROCMAIL')dnl
定义(`ALIAS_FILE',`/etc/ALIAS')dnl
定义(`STATUS_FILE',`/var/log/mail/statistics')dnl
定义(`UUCP\u MAILER\u MAX',`2000000')dnl
定义(`confUSERDB_SPEC',`/etc/mail/userdb.db')dnl
定义(`confPRIVACY_FLAGS',`authwarnings,novrfy,noexpn,restrictqrun')dnl
定义(`confAUTH_OPTIONS',`A')dnl
定义(`confCACERT_PATH',`/etc/pki/tls/certs')dnl
定义(`confCACERT',`/etc/pki/tls/certs/ca bundle.crt')dnl
定义(`confSERVER\u CERT',`/etc/pki/tls/certs/sendmail.pem')dnl
定义(`confSERVER_KEY',`/etc/pki/tls/certs/sendmail.pem')dnl
定义(`confCRL',`etc/pki/tls/certs/revoke.crl'))
定义(`confCLIENT\u CERT',`/etc/pki/tls/certs/sendmail.pem'))
定义(`confCLIENT_KEY',`/etc/pki/tls/certs/sendmail.pem'))
定义(`confTO_IDENT',`0')dnl
特征(`no_default_msa',`dnl')dnl
特征(`smrsh',`/usr/sbin/smrsh')dnl
FEATURE(`mailertable',`hash-o/etc/mail/mailertable.db')dnl
FEATURE(`virtusertable',`hash-o/etc/mail/virtusertable.db')dnl
功能(重定向)dnl
功能(始终添加域)dnl
功能(使用cw文件)dnl
特征(使用ct文件)dnl
功能(本地procmail,`',`procmail-t-Y-a$h-d$u')dnl
FEATURE(`access_db',`hash-T-o/etc/mail/access.db')dnl
功能(`blacklist_recipients')dnl
公开用户(`root')dnl
DAEMON_选项(`Family=inet,Port=465,Name=MTA-SSL,M=s')dnl
客户端选项(`Family=inet')dnl
特征(`accept_unsolvable_domains')dnl
本地域(`localhost.localdomain')dnl
定义(`RELAY\u MAILER\u ARGS',`TCP$h 465')
定义(`ESMTP_MAILER_ARGS',`TCP$h 465')
邮递员(smtp)dnl
邮递员(procmail)dnl
两个sendmail都在端口465上侦听。我怀疑这个问题与auth有关,但不知道原因

请帮忙,谢谢

采纳Andrzej A.Filip的建议并删除sendmail.mc中的两行后,server1上的日志中出现以下错误:

4月3日13:02:25服务器发送邮件[19927]:v33BKxfr019769:makeconnection(server2domain.com。[yy.yy.yy.yy])失败:server2domain.com拒绝连接。 4月3日13:02:25服务器发送邮件[19927]:v33BKxfr019769:makeconnection(server2domain.com。[yy.yy.yy.yy])失败:server2domain.com拒绝连接。 4月3日13:02:25服务器发送邮件[19927]:v33BKxfr019769:to=,ctladdr=(501/501),delay=05:41:23,xdelay=00:00:01,mailer=esmtp,pri=30178,relay=server2domain.com。[yy.yy.yy.yy],dsn=4.0.0,stat=Deferred:server2domain.com拒绝连接

服务器2上没有记录任何消息

我认为如果没有这两条线路,server1上的sendmail将尝试通过端口25连接server2,而不是sendmail正在侦听的端口465。

smtps(465)在任何SMTP级别的通信之前启动SSL会话。AFAIR sendmail不支持将其本机用于传出连接。
删除以下两行,将sendmail.mc重新编译到sendmail.cf,重新启动或(发送信号)HUP sendmail守护程序

define(`RELAY_MAILER_ARGS', `TCP $h 465')
define(`ESMTP_MAILER_ARGS', `TCP $h 465')

谢谢你的建议。但是出现了新的错误(包括在原始问题的末尾)。您可以从server1远程登录server2上的端口25或587吗?你收到smtp问候邮件了吗
telnet server2domain.com 587
BTW
功能(无默认值)
关闭侦听端口587上的连接。我无法从服务器1对服务器2上的端口25或端口587进行telnet/openssl。使用netstat-antp,我在服务器上找到了sendmail