unoh.github.com

携帯のエラーメールの種類

Mon Sep 03 03:51:35 -0700 2007

harukiです。

メールを送信するサイトの場合、メールアドレスのクリーニングは定期的に行うべきです。 そのためにはエラーメールを解析しなければなりません。

そこで、エラーメールの種類をまとめてみました。

SMTPエラー

存在しないメールアドレスや、正しい形式でないメールアドレスの場合は、 DoCoMo,au,SoftBankの3キャリアともSMTPエラーになります。

例として、以下の条件でメールを送信したとします。

From: sender@example.com
Return-Path: bounce@example.com
To: アドレス@docomo.ne.jp

MTAにより異なりますので、ここではPostfixを例にします。
Postfixではmultipart/reportのメールがbounce@example.comに届きます
(※ 必要な情報のみに省略しています)

From: MAILER-DAEMON@example.com (Mail Delivery System)
Subject: Undelivered Mail Returned to Sender
To: bounce@example.com
Content-Type: multipart/report; report-type=delivery-status;
	boundary="boudary/example.com"

This is a MIME-encapsulated message.

--boudary/example.com
Content-Description: Notification
Content-Type: text/plain

(メッセージ)

<アドレス@docomo.ne.jp>: host mfsmax.docomo.ne.jp[203.138.180.240] said: 550
    Unknown user アドレス@docomo.ne.jp (in reply to end of DATA command)

--boudary/example.com
Content-Description: Delivery report
Content-Type: message/delivery-status

X-Postfix-Sender: rfc822; sender@example.com

Final-Recipient: rfc822; アドレス@docomo.ne.jp
Action: failed
Status: 5.0.0
Diagnostic-Code: X-Postfix; host mfsmax.docomo.ne.jp[203.138.180.240] said: 550
	Unknown user アドレス@docomo.ne.jp (in reply to end of DATA
	command)

--boudary/example.com
Content-Description: Undelivered Message
Content-Type: message/rfc822

(ヘッダ)
From: sender@example.com
To: アドレス@docomo.ne.jp

(本文)

--boudary/example.com--

Content-Type: message/rfc822のToから、「アドレス@docomo.ne.jp」を取得できます。

特殊なエラーメール

auとSoftBankでは、上記のエラーに加えて、一旦受信されてから送り返されてくるものがあります。 種類は4つあります。
(※ ここでも必要な情報のみに省略しています)

1. multipart/report

Postfixの例で書いたものがサーバから送られてきます。
auとSoftBankにこのタイプがあります。

2. text/plain

拒否している場合のauのエラーメールです。
※ <アドレス@ezweb.ne.jp>の行がない場合もあります。

Content-Type: text/plain; charset=iso-2022-jp
From: Postmaster@ezweb.ne.jp
To: bounce@example.com
Subject: Mail System Error - Returned Mail

次のあて先へのメッセージはエラーのため送信できませんでした。

<アドレス@ezweb.ne.jp>

送信先メールアドレスが見つからないか、
送信先メールサーバの事由により送信できませんでした。
メールアドレスをご確認の上、再送信してください。
Each of the following recipients was rejected by a remote mail server.