メールを送信したが相手に届かない | ミニミニ管理者(システム管理者/社内SE/CIO)の独り言

[ ミニミニ管理者の独り言インターネット・メールについて > メールを送信したが相手に届かない ]
スポンサードリンク

メールを送信したが相手に届かない

昨日、当社のある部門からメールを送信したところ下記のメールが戻ってきて「メールが相手に届かない」障害が発生しました。

今回、想定しているネットワーク構成を記述しますと。
取引先SMTP − プロバイダSMTP − 当社SMTP − クライアントPC
※プロバイダSMTPとは、プロバイダのサービスのウィルスチェックサービスを申し込んでいる為、プロバイダを経由してメールの送信をしています。

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
This is the Postfix program at host *****.***.ad.jp.
I'm sorry to have to inform you that the message returned
below could not be delivered to one or more destinations.
The following sentences are Japanese.
このメールと共に返信されているメールは一つ以上の宛先に対
して配信できませんでした。
<*****@******.**.ca>: host
mail.*****.**.ca[198.***.***.***] said: 552 Error: content
rejected (in reply to end of DATA command)

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

この障害は当社のある部門と相手先の間だけで発生しており、ある部門から他の取引先には問題なくメールが送れている状態です。

通常、メールが相手に届かないといったトラブルを挙げると。
1)アドレスの入力ミス(タイプミスや全角半角、大文字小文字のミス)
2)ネットワーク経由のファイルを添付してエラー。(パスが長すぎる)
3)添付ファイルの容量が大きい。
などが挙げられます。
しかし、これらのいずれのトラブルでも今回の様なメールは戻ってきません。

ここでエラーメッセージの本文を確認してみると相手のメールサーバがエラーを伝えてくれているのが分かります。その部分を抜粋すると。
<*****@******.**.ca>: host
mail.*****.**.ca[198.***.***.***] said: 552 Error: content
rejected (in reply to end of DATA command)

の部分です。

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
通常、この様なメールが戻ってくる場合で多いのが、「相手先のメールアドレスが存在しない」時です。この場合のエラーは「550」「553」「554」(当社の場合は「554」の事が多い)が関係します。
<*****@*****.**.jp>: host
mail.*****.co.jp[219.***.***.**] said: 554 User unknown (in
reply to RCPT TO command)

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

特に「552 Error」の部分はSMTPサーバの出す応答コードの種類です。

参考までに一般的なSMTPの応答コードを示すと。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
1)正常な応答コード
200  RFC標準以外の成功応答
211  System status, or system help reply
214  Help message ヘルプメッセージ。
220   Service ready 準備完了。
221   Service closing transmission channel 接続を閉じる。
250  Requested mail action okay, completed 要求された処理は実行可能。完了。
251  User not local; will forward to  受信者が存在しないので[forward-path]に転送する。
252  VRFYコマンド利用不可
354  Start mail input; end with . メールの入力開始。入力終了は「.」のみの行を送信。

2)一般的なエラー(再実行で復旧する可能性あり)
421   Service not available,closing transmission channel サービスは利用不能。接続を閉じる。
450  Requested mail action not taken: mailbox unavailable メールボックスが利用できないため、要求された処理は実行不能。
451  Requested action aborted: local error in processing 処理中にエラーが発生。要求された処理は失敗。
452  Requested action not taken: insufficient system storage 記憶装置の空き領域が不十分なため、要求された処理は実行不能。

3)恒久的なエラー(問題を解消する必要がある)
500  Syntax error, command unrecognized 文法に間違いがあるため、コマンドが理解できない。
501  Syntax error in parameters or arguments 引数の文法に間違いがある。
502  Command not implemented 指示されたコマンドはこのシステムには実装されていない。
503  Bad sequence of commands コマンドの発行順序が間違っている。
504  Command parameter not implemented コマンドの引数が未定義。
550  Requested action not taken: mailbox unavailable メールボックスが利用できないため、要求された処理は実行不能。
551  User not local; please try  受信者が存在しない。[forward-path]に送信せよ。
552  Requested mail action aborted: exceeded storage allocation ディスク不足のため、要求された処理は実行不能。
553  Requested action not taken: mailbox name not allowed メールボックスの名前が不適切なため、要求された処理は実行不能。
554  Transaction failed 処理失敗。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

システム&ネットワークトラブル回避逆引き便利帖  ←ネットワークトラブルの時はこれ!

といったものですが、ここから「552」を確認すると「5xx」のエラーは恒久的なエラーで何らかの発生している問題を解決しないと対処できないエラーです。このうち、「552」の詳細情報を見ると「Requested mail action aborted: exceeded storage allocation」で「ディスク不足のため、要求された処理は実行不能。」のことのようです。しかし、これは当社で発生した「content rejected (in reply to end of DATA command)」とは明らかに異なります。

当社のエラー「content rejected (in reply to end of DATA command)」をつたない私の英語力で訳すと「(DATAコマンドの最後の応答の)コンテンツを拒絶しました」といったところでしょうか?

ここでいう、「DATAコマンド」とはSMTPコマンドの一種で、「メールクライアントがメールサーバに本文の送信開始を宣言する。」ものです。ここでエラーと言うことはメールの本文に問題がある?と言うことになります。

早速、利用者にメールの内容を確認すると添付ファイルはつけていないとの事でした。

そこで、プロバイダのサポートセンター(サポセン)に問合わせしてみると「相手先サーバが何のエラーで拒絶したかの情報が必要で、相手先サーバのログを見ないと判断できない」との事でした。しかし、取引先にはそんなことを頼めるわけもなく、他に方法を尋ねると「簡単なメールを送信して送れるか」「プロバイダのメールサーバ経由でなく直接送信したらどうか」を確認してくれとの事でした。

簡単なメールと言っても...「添付ファイルもしてなかったからな。」と考えましたが、念のためメールを送信して相手先にメールの返信を依頼してみました。するとどうでしょう。相手先から「メールが届いた」との知らせが届きました。

???どういうことでしょうか?こうなると原因は2つ考えられます。
1)原因が解消した。(相手先サーバの容量不足などが解消)
2)私のマシンと送信できなかったマシンの設定が異なる。

システム&ネットワークトラブル回避逆引き便利帖  ←ネットワークトラブルの時はこれ!

となります。ここで、気になったのが、「添付ファイルはつけていない」との事でしたが、もしかして「HTMLメールを使ったのでは?」と考えました。

当社ではHTMLメールのビジネス利用はウィルス被害の増大を防ぐ為に禁止しています。
つい先日も発信文で「メールの利用マナー」を送ったばかりでしたが、確認してみると案の定「HTMLメール」だったことが判明しました。

なぜ、「HTMLメール」がいけないのか?というと、HTMLメールとは送受信するデータがHTMLで記載されているので「メール内にHTML文として自動実行するスクリプトを埋め込みする事ができる」のです。こうなるとウィルスに感染させることが容易(メールを開くだけで感染する)になるので注意が必要なのです。そのため、メールサーバ(というかセキュリティシステム)によっては「exe」「xls」「doc」「html」といった拡張子のついた添付ファイル付きメールは拒否する設定ができるものもあります。(ちなみに「xls」「doc」の場合はマクロが危険になります)

しかし、本当にこれが原因かはまだわかりません。出来れば相手先に「HTMLメール」と「TEXTメール」の両方を同時期に送信して障害の再現性を確認したいところですが、相手先はお偉いさんなので「そんな、用事も無いのにメールは遅れないよ」と営業に断られてしまいました。そのため、今度用事があってメールを送る時は一緒に立ち会うので教えてくれといっておきました。

後日、障害の発生した取引先とメールをやり取りする機会が発生したので営業担当に「HTMLメール」を先に送信してエラーで戻って来るかを確認して、エラーで戻ってきたら「TEXTメール」で送るように依頼しました。これまでの経緯からすると「HTMLメール」のエラーで戻ってくるのは数分で戻ってきましたので、さほど営業にも差し障りないと判断しました。

すると「HTMLメール」は、相手に届かず、すぐにエラーメールが帰ってきました。
また、「TEXTメール」は無事に届きました。

ここでプロバイダのサポセンに確認すると「HTML形式のメールはSPAMであることが多いため、送信できない状況は多く確認しています。」との回答でした。なるほど、HTMLメールはSPAMメールと判断される可能性が高いと言うことのようです。確かにSPAMメールは誘導目的で(「a href」タグで)URLを埋め込みしたり出来ますからね。

皆さんの管理するメールサーバで同じ状況があった場合にはご注意ください。思わぬところに「落とし穴(HTML形式のメールが届かない)」が潜んでいるかもしれません。

システム&ネットワークトラブル回避逆引き便利帖  ←ネットワークトラブルの時はこれ!

◆ネットワークトラブルの対応 バックナンバー◆
 ネットワークトラブルの対応−LANに繋がらない
 ネットワークトラブルの対応−LAN内から外に出れない
 ネットワークトラブルの対応−DHCP環境でLANに繋がらない
 ネットワークトラブルの対応−特定のサイトに繋がらない

◆番外編◆
 メールを送信したが相手に届かない

システム管理者必見!DOSの活用事例

ネットワーク管理者必見!


               最新記事へ     トップページ


スポンサードリンク


■Blog Ranking■
1. ←←サーバー構築・運用ブログあり お奨め:★★★★★
2. (ブログランキング ドット ネット)
3.にほんブログ村 IT技術ブログへにほんブログ村
4.BS blog Ranking
ブログランキングに挑戦中です。あなたもブログランキングに挑戦してみよう!
サーバー構築・運用ブログなんかもありますのでシステム管理者の方にもお奨めのサイトがあり!
ソニーストア
ボーズ・インイヤーヘッドホン

コメント
コメント投稿フォーム:
 上の情報を次回も利用する

トラックバック
トラックバックURL:
※ クリックで選択できます。
トラックバック一覧: