我正在尝试将我的@example.org 上的电子邮件地址转发到我的域之外的外部电子邮件地址。
当使用我的 ISP 的 SMTP 中继服务器时,我收到以下错误:
Dec 27 15:10:40 bowser sm-mta[76444]: 0BREAbT3071556: to=<[email protected]>, delay=00:00:02, xdelay=00:00:01, mailer=relay, pri=32614, relay=my.isp.relay.host.example. [IPv4-address], dsn=5.7.1, reply=554 5.7.1 <[email protected]>: Sender address rejected: Access denied, stat=Service unavailable
Dec 27 15:10:40 bowser sm-mta[76444]: 0BREAbT3071556: 0BREAeT2076444: DSN: Service unavailable
Dec 27 15:10:40 bowser sm-mta[76444]: 0BREAeT2076444: to=<[email protected]>, delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=34394, relay=my.isp.relay.host.example. [IPv4-address], dsn=5.7.1, reply=554 5.7.1 <>: Sender address rejected: Null sender not allowed here, stat=Service unavailable
Dec 27 15:10:40 bowser sm-mta[76444]: 0BREAeT2076444: 0BREAeT3076444: return to sender: Service unavailable
注意<>5.7.1 之后第 3 行
这个问题似乎只在我尝试发送电子邮件时出现从一个 Gmail 帐户到我想要的转发地址,如果我使用服务器自己的内部邮件发送到该地址,电子邮件就会按预期转发到目标地址。
因此我想,也许可以使用 gmail SMTP 服务器来解决这个问题,但后来我却遇到了这个问题:从我的主机发送到任何外部域(例如 @gmail.com)的每封电子邮件的 Mail From: 标题都设置为验证 gmail 帐户的电子邮件地址,而信封发件人和回复标题则设置为原始发件人的电子邮件地址。这导致 GMail 和其他我肯定想回复“Firstname Lastname[电子邮件保护]”而不是“名字姓氏”[电子邮件保护]“
多年来,我一直在为我的 sendmail .mc 文件添加一些设置,以使系统正常运行,但我不能肯定地说这些设置都没有导致这个问题并破坏我想要的功能。下面是已编辑的 mc:
divert(-1)
divert(0)
VERSIONID(`$bowser.example.org.mc 2020-12-27 16:50:00 dadver $')
OSTYPE(freebsd6)dnl
DOMAIN(generic)dnl
FEATURE(access_db, `hash -o -T<TMPF> /etc/mail/access')dnl
FEATURE(blocklist_recipients)dnl
FEATURE(local_procmail)dnl
FEATURE(authinfo, `hash /etc/mail/auth/client-info')dnl
FEATURE(mailertable, `hash -o /etc/mail/mailertable')dnl
FEATURE(virtusertable, `hash -o /etc/mail/virtusertable')dnl
define(`CERT_DIR', `/usr/local/etc/letsencrypt/live/mail.example.org/')dnl
define(`confCACERT_PATH', `CERT_DIR')dnl
define(`confCACERT', `CERT_DIR/chain.pem')dnl
define(`confSERVER_CERT', `CERT_DIR/cert.pem')dnl
define(`confSERVER_KEY', `CERT_DIR/privkey.pem')dnl
define(`confCRL', `/usr/local/certs/revoke.crl')
define(`confAUTH_OPTIONS', `A p y')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
TRUST_AUTH_MECH(`EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(no_default_msa)dnl ## overridden with DAEMON_OPTIONS below
CLIENT_OPTIONS(`Name=IPv4-client-mail.example.org, Family=inet')dnl
CLIENT_OPTIONS(`Name=IPv6-client-mail.example.org, Family=inet6')dnl
DAEMON_OPTIONS(`Name=IPv4-localhost, Addr=127.0.0.1, M=A, Family=inet')dnl
DAEMON_OPTIONS(`Name=IPv4-mail.example.org, Addr= my-public-ipv4-ip, M=A, Family=inet')dnl
DAEMON_OPTIONS(`Name=IPv6-mail.example.org, Addr= my-public-ipv6-ip, M=A, Family=inet6')dnl
DAEMON_OPTIONS(`Name=IPv6-localhost, Addr=::1, M=A, Family=inet6')dnl
DAEMON_OPTIONS(`Name=MSA-IPv4-localhost, Addr=127.0.0.1, Port=587, M=E')dnl
DAEMON_OPTIONS(`Name=MSA-IPv4-mail.example.org, Addr= my-public-ipv4-ip, Port=587, M=Ea')dnl
DAEMON_OPTIONS(`Name=MSA-IPv6-mail.example.org, Addr= my-public-ipv6-ip, Port=587, M=Ea, Family=inet6')dnl
DAEMON_OPTIONS(`Name=MSA-IPv6-localhost, Addr=::1, Port=587, M=E, Family=inet6')dnl
define(`SMART_HOST', `[my.isp.relay.server]')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl
define(`ESMTP_MAILER_ARGS', `TCP $h 587')dnl
INPUT_MAIL_FILTER(`spfmilter',`S=unix:/var/run/spfmilter.sock')dnl
INPUT_MAIL_FILTER(`spamassassin', `S=local:/var/run/spamass-milter/spamass-milter.sock, F=, T=C:15m;S:4m;R:4m;E:10m')
define(`confMILTER_MACROS_CONNECT',``b, j, _, {daemon_name}, {if_name}, {if_addr}, {client_addr}'')dnl
define(`confMILTER_MACROS_ENVRCPT',``b, r, v, Z, {rcpt_mailer}, {rcpt_host}, {rcpt_addr}'')dnl
INPUT_MAIL_FILTER(`milter-manager',`S=unix:/var/run/milter-manager/milter-manager.sock')dnl
INPUT_MAIL_FILTER(`dkim-filter', `S=unix:/var/run/dkim/opendkim.sock, F=T, T=R:2m')
define(`confCW_FILE', `-o /etc/mail/local-host-names')dnl
define(`confBIND_OPTS', `WorkAroundBrokenAAAA')dnl
define(`confNO_RCPT_ACTION', `add-to-undisclosed')dnl
define(`confPRIVACY_FLAGS', `authwarnings,noexpn,novrfy')dnl
MAILER(local)dnl
MAILER(smtp)dnl
MAILER(procmail)dnl
我尝试添加来自:gmail.com 中继和至:转发至地址的目标主机中继在访问文件中,将目标主机的转发地址添加到中继域文件以尝试修复第一个问题,但没有什么区别。
答案1
这是由于您的邮件服务器与 ISP 的邮件服务器交互并被该服务器拒绝而导致的。
让我们看看到底发生了什么。
Dec 27 15:10:40 bowser sm-mta[76444]: 0BREAbT3071556: to=<[email protected]>, delay=00:00:02, xdelay=00:00:01, mailer=relay, pri=32614, relay=my.isp.relay.host.example. [IPv4-address], dsn=5.7.1, reply=554 5.7.1 <[email protected]>: Sender address rejected: Access denied, stat=Service unavailable
首先,您的服务器尝试转发您的电子邮件,但由于他们不喜欢信封发件人而被拒绝。
Dec 27 15:10:40 bowser sm-mta[76444]: 0BREAeT2076444: to=<[email protected]>, delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=34394, relay=my.isp.relay.host.example. [IPv4-address], dsn=5.7.1, reply=554 5.7.1 <>: Sender address rejected: Null sender not allowed here, stat=Service unavailable
下一个,你的服务器生成退回电子邮件并尝试发送退回邮件通过 ISP 的电子邮件服务器发出。退回邮件的发件人为空信封。
目前尚不清楚您为何尝试通过 ISP 的服务器发送这封电子邮件,因为 (1) 您说直接发送时它可以正常工作,并且 (2) 您的商务级互联网服务应该允许您直接将邮件发送到任何地方(如果不允许,请开始向您的 ISP 大喊大叫,直到他们修复它)。