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

石山 宏幸 ishiyama @ minaqle.co.jp
2008年 7月 10日 (木) 16:03:32 JST


こんにちわ、石山です。

鈴木 様、ご回答ありがとうございます。

> もし、MTA を使わず、全てを PHP で実装するなら、ざっくり考えてもこの辺の
> コードが必要です。
> 
> 1. メールアドレスからドメイン部分を抜き出す
> 2. DNS を利用し、ドメイン部分の MX サーバの IP を取得する
> 3. MX サーバの IP アドレスへソケット通信をオープンする
> 4. SMTP プロトコルで送信
> 5. エラーの場合はエラー処理
> 
> これらは Sendmail や qmail, Postfix などの MTA が行っている事をそのまま
> 再実装することになります。
> 
> なお、SMTP プロトコルの知識がないといろいろと問題が発生します。
> 
> SMTP プロトコルに精通しているので無ければ、ソケット通信ではなく、既存の
> ライブラリを利用した方が安全だと思います。

ご提案くださっていることの具体的な内容ですね、ありがとうございます。
IPアドレスを抜き出すあたりまでの処理は出来ないことはないとは思うのですが
そこまでして、ソケット通信にこだわる必要性がないですよね・・
やはり、既存のライブラリで特にpearがせっかくあるので、利用を検討していく
方向性で考えたいと思います。

今回の件は、自分の中でもあやふやだった、ネットワーク通信に関する部分が
少しだけ理解できてよかったと思います。

#過去にサーバーのサポートなどをしていたので、ドメインとDNSの関係や
#レコードについてなど、知識としてあったものの、実際にサーバーを構築して
#プログラムを動かしてみると様々な問題が見えてきて楽しいところです。

過去ログを参照させていただいておりますが、皆様の知識の深さに
驚かされる次第です。

それでは、今後もよろしくお願いいたします。

石山



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