[PHP-users 33823] Re: 既存のmail、mb_send_mailを使用しないSMTP送信について

Masaki Hojo itam @ itam.jp
2008年 7月 12日 (土) 20:55:31 JST


北條(itam)です.こんにちは. % 2008/07/12 19:57:51 JST

 問題点を理解されているかどうか分からない回答でしたので,MLに送りますね.
 ポイントは,かめおやじさんの作成されたシステムには欠陥がある(※)ことと,
このMLでは初心者の方もいらっしゃるので,真似されると困りますので,ちょっ
とくどい気もしますが,続けさせていただきます.
※下記でも書いてありますが,たぶんそのようなことにはしてないような気がす
  るのですが,少なくとも欠陥があるかのように見える説明になっているので,
  寸分たがわず真似されると問題があります.


From: kameoyaji <kenjik @ trialgoods.com>
Subject: [PHP-users 33820] Re: 既存のmail、mb_send_mailを使用しないSMTP送信について
Date: Sat, 12 Jul 2008 11:00:17 +0900

> その時に、送信者のメールアドレスが存在しなかった時には管理者(portmaster)
> 宛にその内容が送信されます。

 一つ目のポイントはこの「その時に」ということなのですが,「どの時に」な
のでしょうか?この「その時に」は複数のタイミングがありえると思います.そ
のタイミングによっては,スパム業者同様,送り先の無いエラーメールがネット
に流通することになり,ネットワーク的に大変迷惑です.


> メールの送信をsendmail・qmailへ受け渡す事により返信メールの送信をOKとし
> ている方法ではなく、返信先のメールサーバまで送信送信できたことにより返書
> 運メールが送信できたと報告するような仕組みにしてしまったことにより、エラー
> メールを受け取らない仕組みになってしまったと言ったほうが良いかもしれませ
> ん。

 どのようにシステムを組んだとしても,エラーメールは必ず受信するようにす
るべきです.かめおやじさんが組んだシステムの要件が間違っているとかそうい
う話をしているわけではないのです.
 MTAに頼らず自前でSMTP接続することでメールの送信の結果報告をユーザに明
らかにするシステム自体はまったく問題ないと思います.私も同様にそのように
要件をまとめるケースは当然あります.
 それとこの問題とはまったく関係なく,前回のメールの繰返しになりますが,
メールの仕様上相手のサーバにメールを送信できたことは相手のメールボックス
にメールが届いたことではないため,エラーメールとなる余地はあるあります.
この場合には,エラーメールを相手のサーバ(に限りません)が返信するのが仕様
ですから,この際に発生したエラーメールを受け取らないという実装(もしくは
システムの実現方法)はNGであるということです.
 当然ですが,上掲のシステムにした場合には,ユーザに明らかにする結果報告
は必ずしも正しくなく,相手のサーバにメールは送信できたが,相手のメール別
宮にメールが届かなかった場合には,報告された結果は正しくない状況になりま
す.

 私個人の予想としては,実際にはエラーメールは受信されるようにされている
のではないかと思うのですが,初心者の方も読まれる公開された場で「エラーメー
ルを受け取らない仕組み」を作ったとか結果的になってしまったとか,サンプル
としてこれでいいはずみたいな情報は,誤ったものであるということを明確にし
ておきたいのです.


                                  -*-

> 又、もしエラーメールを受け取る・受け取らない問題に関しましては、個人的に
> メールを受け取りますので、個人宛のメールへお送り頂ければ助かります。

 上掲の理由によりMLにポストします.嫌がらせとか揚げ足取りとか荒らしのつ
もりではないことをご理解ください.どうしても個人の方でやりとりする必要が
あるようであれば,もちろん,直接メールのやり取りでもまったくかまいません.
その場合には後に訂正のメールを送っていただけるとうれしいです.
--
北條 正樹 itam @ itam.jp http://itam.jp



PHP-users メーリングリストの案内