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

ml @ colosuke.net ml @ colosuke.net
2008年 7月 10日 (木) 20:16:11 JST


うえだです。

> 1.pearはサーバーによって導入も様々ですし、何よりバージョンの違いや
> インストールの手間があるので、魅力的ではあるのですが排除しています。

私はPEARのライブラリを使用することをお勧めします。

PEARは特に pear install でインストールされている必要はありません。
ファイルだけが存在していればいいので、たとえば

htdocs/
 index.php
 Mail.php
 Mail/
  RFC822.php etc.etc...
 PEAR.php

という形で PEAR::Mail が必要とするファイルが存在していれば pear install 
でインストールされている場合と同じように

require_once 'Mail.php';

で利用可能になります。
実際は同じディレクトリにライブラリが混在しているのはよろしくないので、
http://jp2.php.net/manual/ja/function.set-include-path.php
を使用して自前のライブラリ用ディレクトリにパスを通して、そこに PEAR のファ
イルをおくのがよいでしょう。

なお、PEAR::Mail のバックエンドを mail にすると内部では最終的に mail 関
数を、 sendmail にすると sendmail コマンドを使用して送信しているようなの
で、自前で全てのメール処理を行う PEAR::Net_SMTP を使用する smtp を使用す
るのがよさそうです。
http://pear.php.net/manual/en/package.mail.mail.factory.php
http://pear.php.net/package/net_smtp/

# ちなみにバックエンドに null を指定すると、実際にはなにもしないインスタ
# ンスができあがるようです。テストに使えそうですね。



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