プロが教える店舗&オフィスのセキュリティ対策術

プログラムで5通のメールを送信したとします。
送信間隔は5秒おきに送信した順に以下の件名を付けます。
メール1
メール2
メール3
メール4
メール5

送信元のメールアドレスは、a@b.com等の独自ドメインメール
送信先は、Yahooメールとdocomoメール2か所です。
これを毎日続けています。

ですが受信した方から、届いたメールの順番が違う、
しかも今まで1年以上受信しているが順番が違ったのは今日が初めてだ。と言われました。

その人の受信トレイは
メール1
メール3
メール2
メール4
メール5
の様に届いていたのです。
この現象はどのような時に発生しうるのでしょうか?

A 回答 (4件)

インターネットの仕組みとして、送信サーバーと受信サーバーの間の通信経路は都度変わる可能性があります。


それは1通のメールであっても長いメール(正確には複数パケットに分かれるメール)はパケットごとに異なる経路を通って受信サーバーに届く可能性があります。
ご質問の場合、メール2がメール3より後に受信サーバーに届いたわkwですが、それはメール2がメール3より時間を要する経路(距離的にとう場合もありますし、混雑度という場合もあります)を通ったのでしょう。もしかするとメール2全部ではなくその一部のパケットだけが時間を要する経路を通ったため受信サーバー上にメール2の全データが揃うのがメール3より後になった・・・ということかもしれません。
各メールのメールヘッダーのReceived:などの行を詳細に見るとその辺の事情がわかる場合もあります。

参考まで。
    • good
    • 0
この回答へのお礼

ありがとうございます。私自身は理解できました。
後は、事象が発生した方への説明なのですが、
過去1年1回もそういう事がなくて、今回初めてなのはどうして?に対してどういえばいいでしょうか。
本当にたまたま奇跡的に今日発生した、と飲み込ませるしかないですか?


送信日時と、受信日時の問題として考えると、
送信日時はかならず順番通りだと思いますが、経路により受信日時が順番通りじゃない場合がある。
受信しているスマホは、受信日時順で表示される為、順番がずれたように見えるが、
もしも送信日時順に沿うとできるなら、必ず順番通りに表示される、という説明は間違ってますか?

お礼日時:2023/02/22 10:52

あなたのSMTPサーバーから相手のメールサーバーまで経由しているメールサーバー全ての実装が分からないので、誰にも分かりません。


そもそもRFCではEメールが必ず相手先に届くことを保障もしていませんし。
送信した順番どおり相手に届くようにするには、送信間隔をもっと開けるべきでしょう。
    • good
    • 2
この回答へのお礼

ありがとうございます。私自身は理解できました。
後は、事象が発生した方への説明なのですが、
過去1年1回もそういう事がなくて、今回初めてなのはどうして?に対してどういえばいいでしょうか。
本当にたまたま奇跡的に今日発生した、と飲み込ませるしかないですか?


送信日時と、受信日時の問題として考えると、
送信日時はかならず順番通りだと思いますが、経路により受信日時が順番通りじゃない場合がある。
受信しているスマホは、受信日時順で表示される為、順番がずれたように見えるが、
もしも送信日時順に沿うとできるなら、必ず順番通りに表示される、という説明は間違ってますか?

お礼日時:2023/02/22 10:52

プログラムが行っていることは送信元サーバーにメールを渡すところまでです。



送信元サーバーから送信先サーバーに送る処理は並列です。

メール2の処理で遅延が発生したら、メール3が先に届くことはあります。
    • good
    • 0
この回答へのお礼

実際、並列処理なのかもしれませんが、
5秒おきに処理している以上、直列に処理されませんか?

お礼日時:2023/02/22 10:46

詳しくはありませんが


TCPとUDPの違いだと思います。
https://cloudapi.kddi-web.com/magazine/other/dif …
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!