質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.99%

メールの送信側は正常でも受信側に届かないことはあり得るのか

解決済

回答 5

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 1,140
退会済みユーザー

退会済みユーザー

システム上のメール送信で、送信側(プログラムの送信メソッドの戻り値等)は正常で、受信側に到達しないということはあり得るのでしょうか?
あり得るとすれば送信側は対策をどのように行うべきかも「任意」でお答えいただけると幸いです。今回は受信側の立場でしたが、それがシェアされ、エンジニアとして今後開発する上で教訓となればと思います。

先日、あるサービスの新規登録(仮会員→本会員という流れ)を行う際に、メールアドレスの確認メールがサービス側からこちらに届かないということがありました。

サービスの問い合わせ窓口に問い合わせたところ、結論として以下の回答が来ました。
事前に登録したメールアドレスとシステムの送信先が一致しているか確認(結果:一致)を取っています

弊社のシステム上で自動送信しておりますため、送信履歴の確認は行なえませんが、正常に動作しておりますことを確認しております。

しかしながら、迷惑メールフォルダ等含めいくらメールボックスを調べてもメールは届いていませんでした。
受信拒否もしていません。

こちらのメールボックスを見せるわけにはいかないですし、先方もシステムのアーキテクチャやログ等を開示しないため、このまま先方の言っている(受信側のメーラー等に原因があるという)ことを受け入れるしかないという状況です。

先方がメールをシステム上で自動送信しているといっているので、
ここで正常と言っているのは「システム上のプログラムの送信メソッドが例外なく処理された」ということだと思うのですが、この送信メソッドが何を持って(送信側のSMTPサーバからどの時点の判定結果をもって)正常とするのか理解することが解決の道だと思っています。

半日ほど調べて、メール送信はSMTPというプロトコルでやり取りされ、そのプロトコルの概要までは自力で調べることができたのですが、送信側のSMTPサーバがどのタイミングの判定結果(OK or NG)でレスポンスを返すのか調べてもわかりませんでした。自分でも考えましたがタイミングは以下しか思いつきませんでした。

  • 送信側のSMTPサーバがメールを保存したタイミング(プログラム↔送信側SMTPサーバ)
  • 受信側のSMTPサーバがメールを保存したタイミング(プログラム↔送信側SMTPサーバ↔受信側SMTPサーバ)
  • POPまたはIMAPでクライアントが取得したタイミング(プログラム↔送信側SMTPサーバ↔受信側SMTPサーバ↔メールクライアント)

本当は、何が原因でメールがどこでロストしたのか特定したいのですが、双方非公開の環境のため諦めています。
ですので、冒頭の質問に対して論理的に説明出来る方いらっしゃいましたら、ご回答願います。

よろしくお願いいたします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 5

checkベストアンサー

+3

インターネットメールの流れを順にたどると、
送信元のメールが、メールクライアント(あるいはコマンドライン等)から、送信元のメールサーバーに送信される
→送信元のメールサーバーが、宛先のメールサーバーを特定する(DNS MX レコード)
→送信元から宛先のメールサーバーに送信する (※このとき、中継メールサーバーをいくつも経由している場合もあります) 
→受信者が、宛先のメールサーバーから取り出す

という流れになります。
そしてインターネットメールは、基本的に「直接アクセスしているサーバー」以外の動作状況を知ることができません。送信者は自分のメールが送信元メールサーバに受け取られたことは分かるのですが、極端な話をすれば送信元から先に進んだかどうかさえ必ずしも知ることができません。

さらに言えば各メールサーバーの挙動として、宛先不明だった場合に突っ返すか、あるいは受け取って無視するか、どっちで動いているか知ることもできません。
※後者の挙動は主に迷惑メールなどの対策用で、「生きているメールアドレスかどうか分からなくする」ためにやっていたりします

なので、開封確認をお願いでもしていない場合は、各メールサーバーの送受信ログでも取っていなければ届いているかどうかは分からないでしょう。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+2

むしろ数えきれないくらいあります。

受信サーバのメールボックスを受信後に消してしまえば、そういう事象になりますし。
ある基準により別のサーバに転送することもあります。
あるいは、メールアドレスが1文字違って 別の誰かに送信されていたり。

送信側・受信側のサーバの中身を見られない限り、実際に何が起きたかを説明することは不可能に近いでしょう。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

システム上のメール送信で、送信側(プログラムの送信メソッドの戻り値等)は正常で、受信側に到達しないということはあり得るのでしょうか?

はい、たとえばこの前に、ソフトバンク宛のメールが誤って消去される事件がありましたが、これも送信側では判別できません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/10/04 15:55

    PHPのmail関数のヘルプにも、「(返り値は)メールの配送が受け入れられたかどうかが基準であることに注意しましょう。 メールが実際にあて先に届いたかどうかでは『ありません』。」と、その旨が明記してあります。

    http://php.net/manual/ja/function.mail.php

    キャンセル

0

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

auだとよくありますね。しかも気づかない
https://matome.naver.jp/odai/2147045052147274001

やっとのことで原因を突き止めたのに、迷惑メールがうざいからと言って設定を変更せず、いまだに電話でやり取りしている人がいます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.99%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる