SendmailがIPv4ではなくIPv6からメールを送信するのを停止する方法


11

今日、Gmailがサーバーから受信したすべてのメッセージを[スパム]フォルダーに送信していることに気付きました。メッセージヘッダーを確認したところ、次のことがわかりました。

Authentication-Results: mx.google.com;
       spf=neutral (google.com: 2001:4ba0:cafe:........ is neither permitted nor denied by best guess record for domain of root@myserver.com) smtp.mail=root@myserver.com

したがって、SendmailはIPv4の代わりにIP6アドレスからメールを送信しており、IPv6のSPFおよびPTRレコードがないようです。SendmailにIPv4からメールを送信させるにはどうすればよいですか?

ありがとう。


4
v6に接続しているので、v6互換のメーラーに逆引きとMXレコードを追加できればより良いでしょう。しかし、それはあなたが求めていることではありません。
sysadmin1138

回答:


10

IPv6を無効にしないでください。それはもはやオプションではなく、あなたはそれなしで一部の人々と通信することができなくなります。

代わりに、IPv6アドレスから発信されたメールを渡すようにSPFレコードを修正します。


また、VPSプロバイダーがIPv6のSPFレコードを設定したくない場合はどうでしょうか。:(
brodul

2
@brodul VPSプロバイダーはDNSレコードとどのような関係がありますか?
マイケルハンプトン

SPFレコードを修正しても問題は解決しません。メールをGMailに転送しているため、転送サーバーがSPFチェックに合格しないためです。
James Roper 2017

3
Gmailでは現在、IPv6送信者に対して逆の動作も必要です。機能する逆引きアドレスを持つことは間違いなくあなたの手に負えず、あなたのサーバー/ネットワークプロバイダー次第です。
Vladimir Panteleev

本気ですか?私が間違っていない場合、Gmailは今日有効なSPFレコードのみを必要とします(そして、[スパムではない]を数回クリックしてAIをトレーニングする必要があります)
autra

11

sendmail.mcに以下を追加します。

CLIENT_OPTIONS( `Family = inet ')dnl

次に、sendmail.cfを再構築し、sendmailを再起動します。Debianでは、> sendmailconfigを実行してこれを行います。CentOSでは、/ etc / mail / makeを実行してから、サービスsendmail restartを実行します。他のシステムには、これを行う他の方法があります。

これを投稿してくれてありがとう、間違いなく私は正しい軌道に乗った。しかし、私はこれを試しましたが、それでもまだうまくいきませんでした。補足として、IPv6の逆引きDNSエントリがないため、Googleメールサーバーから拒否されていました。これは、DNS構成ではなく、VPSの構成に関連しています。数値の逆DNSエントリは、IPアドレスのブロックを所有している人に送信する必要があり、それが私のVPSだからです。

とにかく、私が知る限り、IPv6をクライアントとして使用してsendmailを明示的にオフにする方法はありません。私がたどり着いた少しトリッキーな解決策は、IPv4アドレスのIPv6互換フォーマットを使用するようにIPv6オプションを指定することでした。

たとえば、IPv4アドレスが1.2.3.4の場合、次のように指定します。

CLIENT_OPTIONS( `Family = inet6、Addr = :: ffff:1.2.3.4 ')dnl

私にとっては魅力的でしたが、私の知る限り、これはどこにも文書化されていません。


回答ありがとうございます!IPv6 PTRにアクセスできず、sendmailがGmailに使用するのに頑固であるサーバーでは、それは私にとってはトリックでした。
Luxian、2018年

4

あなたのsendmail.mc追加で:

CLIENT_OPTIONS(`Family=inet')dnl

次にsendmail.cf、sendmailを再構築して再起動します。Debianでは、を実行してこれを行いますsendmailconfig。CentOSでは、/etc/mail/make続いてを実行しservice sendmail restartます。他のシステムには、これを行う別の方法があります。


0

私のために(今は2018年に)それを共有したかったのですが、うまくいったのはfilter-aaaa-on-v4 yesを指定することでした。私のローカルバインドのnamed.confで、https: //kb.isc.org/docs/aa-00576に従います(ここに記載されているfilter-aaaa-on-v6ディレクティブは私の心には存在しません)。おそらく-4という名前も機能します。これはsendmailで、centos7 [.5.1804]にバインドします。

ここでの回答を含め、私が試した他のすべてのものを使用して、Gmailは恐ろしい「このメッセージはIPv6送信ガイドラインを満たしていません」という理由で私のメールをバウンスしました。

仕事しませんでした他のもの:(定義confBIND_OPTS',ごとに、submit.mcとsendmail.mcに-use_inet6' )(ResolverOptions別名)https://lists.debian.org/debian-user/2004/09/msg01410.html。なぜだかわかりません。

/etc/gai.confを変更する(https://centosfaq.org/centos/etcgaiconf-fails-to-prefer-ipv4-over-ipv6-for-nfs/による)、おそらくsendmailがgetaddrinfoではなくgethostbyname / addrを使用するためgai.confは後者にのみ影響します。

ああ、私は別の解決策を1つ持っていました。ソースからsendmailをコンパイルし、そのレベルでv6を無効にします。残念ながら、同等のランタイムディレクティブはないようです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.