Gmail 주소에서 보낸 이메일을 전달할 때 "발신자 주소 거부됨: 여기서는 Null 발신자가 허용되지 않습니다."

Gmail 주소에서 보낸 이메일을 전달할 때 "발신자 주소 거부됨: 여기서는 Null 발신자가 허용되지 않습니다."

내 @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

주목하세요<>3행의 5.7.1 이후

이 문제는 이메일을 보내려고 할 때만 발생하는 것 같습니다.~에서Gmail 계정을 내가 원하는 전달 주소로 보내는 경우 서버 자체 내부 메일을 사용하여 해당 주소로 보내면 이메일이 예상대로 대상 주소로 전달됩니다.

그래서 나는 대신 Gmail SMTP 서버를 사용하면 이 문제가 해결될 수 있다고 생각했지만 대신 이 문제가 발생했습니다. 내 호스트에서 외부 도메인(예: @gmail.com)으로 보낸 모든 이메일은 Mail From:-header를 받습니다. 인증 Gmail 계정의 이메일 주소로 설정되고 봉투의 보낸 사람 및 회신 헤더는 원래 보낸 사람의 이메일 주소로 설정됩니다. 이로 인해 Gmail 및 다른 사람들이 "이름 성"에 답장하고 싶습니다.[이메일 보호됨]"보다는 "이름 성[이메일 보호됨]"

나는 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 RELAY그리고대상:주소 전달을 위한 대상 호스트 RELAY액세스 파일에 전달 주소에 대한 대상 호스트를 추가합니다.릴레이 도메인첫 번째 문제를 해결하기 위해 파일을 다운로드했지만 차이는 없습니다.

답변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가 문제를 해결할 때까지 소리를 지르기 시작하세요.)

관련 정보