轉發從 Gmail 地址發送的電子郵件時顯示“寄件者地址被拒絕:此處不允許使用空寄件人”

轉發從 Gmail 地址發送的電子郵件時顯示“寄件者地址被拒絕:此處不允許使用空寄件人”

我正在嘗試將我的 @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 :-header設定為驗證 gmail 帳戶的電子郵件地址,而信封寄件者和回覆標頭設定為原始寄件者的電子郵件地址。這導致 GMail 和其他人肯定想要回复“名字姓氏”[電子郵件受保護]” 而不是“名字 姓氏[電子郵件受保護]

我的 sendmail .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) 您的企業級Internet 服務應該允許您直接將郵件發送到任何地方(如果如果沒有,請開始向您的 ISP 大喊大叫,直到他們修復它)。

相關內容