
@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 アカウントのメール アドレスに設定され、envelope-from ヘッダーと reply-to ヘッダーは元の送信者のメール アドレスに設定されます。これにより、GMail やその他のメール アドレスで、返信したいメール アドレスが「Firstname Lastname」になります。[メールアドレス]「Firstname Lastname」ではなく「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 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 が修正するまで ISP に怒鳴りつけてください)。