Postfix による携帯へのメール送信

自宅でPostfixによりメールサーバを構築後、携帯にメール送信するためのメモ。

携帯へのメール送信時のログ内容

携帯にメール送ろうとすると以下のようなログ吐いて送信できない。
下記は「/var/log/maillog」の内容抜粋。

Apr 9 19:34:31 Sage postfix/smtp[10952]: 6EE9BE014E: to=<ケータイのアドレス>, relay=none, delay=52, status=deferred (connect to ケータイのメールサーバ: Connection timed out)

「relay=none」とリレーを拒否されている。

携帯のキャリアは迷惑メール対策として、 IPアドレスで SMTP のアクセスに制限がかけられている模様。
ためしにWindows 用の簡易smtpサーバである『Radish』を使って 携帯にメールを送信しようとしたら同様に見事に失敗。

スパムブロックのために、信頼できる ISP のsmtpサーバ以外からのメール送信を制限しているのだと想定。


対策

携帯にメールを送信するためは、自宅サーバの postfix を SMTP サーバとして利用するのは無理。
そのため、携帯にメールを送信するときだけ 契約しているプロバイダ等の SMTP サーバを借りて メールする必要がある。

方法は以下のとおり。

1.main.cf 内の次の行のコメントアウトをはずす(あるいは書き足す)。

transport_maps = hash:/etc/postfix/transport

2./etc/postfix/transport を変更

以下はドコモ・AU・ボーダフォン(ソフトバンク)・Willcom用のサンプルです。 (これでほとんどのキャリアをカバーできるはず)。

ezweb.ne.jp :[契約しているプロバイダの smtp サーバ]
.ezweb.ne.jp :[契約しているプロバイダの smtp サーバ]
docomo.ne.jp :[契約しているプロバイダの smtp サーバ]
.docomo.ne.jp :[契約しているプロバイダの smtp サーバ]
vodafone.ne.jp :[契約しているプロバイダの smtp サーバ]
.vodafone.ne.jp :[契約しているプロバイダの smtp サーバ]
softbank.ne.jp :[契約しているプロバイダの smtp サーバ]
.softbank.ne.jp :[契約しているプロバイダの smtp サーバ]
pdx.ne.jp :[契約しているプロバイダの smtp サーバ]
.pdx.ne.jp :[契約しているプロバイダの smtp サーバ]

3.transport.db の作成

# /usr/sbin/postmap /etc/postfix/transport

4.postfix の再起動。

# /etc/rc.d/init.d/postfix restart

(参考)メールキューの削除方法

携帯へのメール送信に失敗した場合、 Postfix のメールキューは消しておかないと5日間くらい保存され、 送信要求を出しまくって相手に迷惑をかけるので、 次のように消しておくことをお勧めします。

(注)この操作でメールキューは全部消えますので 必要なメールキューが存在する場合は使用しないでください。

# /usr/sbin/postsuper -d ALL

自宅Postfixで携帯電話用のメーリングリスト作成


参考

Home

Tips

ページのトップへ戻る