ご注意下さい
この記事は3年以上前に書かれた記事ですので、内容が古い可能性があります。
自前で全てを用意してメール運用をしていたのですが、ある時iCloud.com宛にメールを送ったら以下のエラーメールを受信しました。
From: MAILER-DAEMON@k184224.ppp.asahi-net.or.jp To: xxxx@kamata-net.com Subject: failure notice Date: 22 Feb 2014 18:53:00 +0900 Return-Path: <> X-Original-To: xxxxx@xxxxx.kamata-net.com Delivered-To: xxxxx@xxxxxx.kamata-net.com Received: from k184224.ppp.asahi-net.or.jp (unknown [192.168.00.100]) by kamata-net.com (Postfix) with SMTP id DDC854A806D for <xxxxx@xxxxx.kamata-net.com>; Sat, 22 Feb 2014 18:52:59 +0900 (JST) Received: (qmail 15902 invoked by alias); 22 Feb 2014 18:53:00 +0900 Delivered-To: alias-kamata-xxxxx@kamata-net.com Received: (qmail 15899 invoked for bounce); 22 Feb 2014 18:53:00 +0900 Message-Id: <20140222095259.DDC854A806D@kamata-net.com> X-Body-Content-Type: ; charset=iso-2022-jp (maybe) Hi. This is the qmail-send program at k184224.ppp.asahi-net.or.jp. I'm afraid I wasn't able to deliver your message to the following addresses. This is a permanent error; I've given up. Sorry it didn't work out. <aaaaa@icloud.com>: 17.158.8.114 does not like recipient. Remote host said: 550 5.7.1 Mail from IP 218.45.184.224 was rejected due to listing in Spamhaus PBL. For details please see http://www.spamhaus.org/query/bl?ip=218.45.184.224 : aaaaa@icloud.com Giving up on 17.158.8.114. --- Below this line is a copy of the message.
なんと、「あなたのメールアドレスはSpamhausPBLに載っているからメールは拒否したよ。詳細はhttp://www.spamhaus.org/query/bl?ip=218.45.184.224を見てね」とエラーメールが返ってきました。
どうもasahi-netの固定IPアドレス群はiCloudから弾かれている模様です。今回はたまたまiCloudから弾かれましたがSpamhausPBLに掲載されている以上他のドメインからも同様に弾かれる可能性が残念ながら高いです。
このようにSpam防止のブラックリスト以外にも25番ポートブロック(Outbound Port25 Blocking:OP25B)など自前メールサーバには住み辛い世の中になってしまいました。
では今後どうするか?
残念ながら個人が運営するメールサーバからのメールは信用度が低いのが実情です。
私の場合には、外部宛のメール(=内部メール以外)はmail.asahi-net.or.jp宛に転送してasahi-net任せにすることにしました。
/var/qmail/control/smtproutesの一番下に以下の一行を追加します。
:mail.asahi-net.or.jp
これで全て外部宛メールをasahi-net.or.jpに委ねることになります。
次なる問題
メール配信をasahi-net.or.jpに任せたことにより次の問題が発生しました。
実際に相手に配送したメールサーバ(asahi-net.or.jp)とメールの配送元のドメイン(kamata-net.com)が違うためメール受信サーバ側のSPFチェックに失敗するようになってしまいました。
そこでDNSのSPFレコードの設定の見直しを行います。設定としては、自分のドメイン以外にもasahi-netからもメールを配信する可能性がありますよ、という設定をすれば良いので、asahi-netが配信するメールサーバをリストしてもいいのですが、ここではasahi-netのTXTレコードを参照してみます。
Server: 192.168.00.100
Address: 192.168.00.100#53
Non-authoritative answer:
asahi-net.or.jp text = "v=spf1 include:spf-01.asahi-net.or.jp ?all"
Authoritative answers can be found from:
asahi-net.or.jp nameserver = crusader.asahi-net.or.jp.
asahi-net.or.jp nameserver = dns1.asahi-net.or.jp.
#
spf-01.asahi-net.or.jpをインクルードしていることが分かります。
そこで、もう少し調べてみると、
# nslookup -q=txt spf-01.asahi-net.or.jp.
Server: 192.168.0.100
Address: 192.168.0.100#53
Non-authoritative answer:
spf-01.asahi-net.or.jp text = "v=spf1 +ip4:202.224.39.192/27 +ip4:202.224.39.40"
Authoritative answers can be found from:
asahi-net.or.jp nameserver = crusader.asahi-net.or.jp.
asahi-net.or.jp nameserver = dns1.asahi-net.or.jp.
#
とありますので、上記+ip4:202.224.39.192/27 +ip4:202.224.39.40をこちらのDNSのTXTレコードに追記する形でも問題ないはずです。が、これは変わるかもしれません。
実際には経験上メール配信は以下の3アドレスからしか配信されていないので下記の3IPアドレスを追記する形でも構わないはずです。
Server: 192.168.0.100
Address: 192.168.0.100#53
Non-authoritative answer:
Name: mail.asahi-net.or.jp
Address: 202.224.39.196
# nslookup mail1.asahi-net.or.jp.
Server: 192.168.0.100
Address: 192.168.0.100#53
Non-authoritative answer:
Name: mail1.asahi-net.or.jp
Address: 202.224.39.197
# nslookup mail2.asahi-net.or.jp.
Server: 192.168.0.100
Address: 192.168.0.100#53
Non-authoritative answer:
Name: mail2.asahi-net.or.jp
Address: 202.224.39.198
#
結論としてはISP側の変更にも耐えられるようにこちらのDNSには以下の設定を行っております。
IN TXT "v=spf1 mx include:spf-01.asahi-net.or.jp -all"
これで、mxすなわちmail.kamata-net.comかspf-01.asahi-net.or.jpで指定された202.224.39.192/27か202.224.39.40からしかメールは送りません、と宣言していることと等価となります。
DNSの設定が染み込むのを待って(設定にもよりますが1日ぐらい)、メールを送るとReceived-SPF: pass となっていることが確認できるはずです。
記事はここまで。