[PHP-users 19430]Re: mail()関数を使わずにメールの大量送信

Teraoka Yoshinori yteraoka @ dti.ad.jp
2003年 12月 19日 (金) 16:16:03 JST


寺岡です。

From: キャスターマイルド <caster_mild_49401219 @ hotmail.com>
Subject: [PHP-users 19428] Re: mail()関数を使わずにメールの大量送信
Date: Fri, 19 Dec 2003 15:24:34 +0900
Message-ID: <BAY1-DAV26kl7mG4Tn00000e90a @ hotmail.com>

> ただ、今回は、あくまでPHPで創ってみたいと言うのがありますので、
> MTAに縛られることなく考えてみようと思っています。

mail 関数が sendmail (やそれに類するもの) を使ってるので
"PHPで" となると 1 のようにするしか無いのでは?

> 昨日、投稿後、いろいろ試しているのですが、
> 1.fsockopen();でMTAに直接つないでみる。
> (結果)mailqにたまっていく様子が見られました。
> しかし、非常に低速(mail()関数とあまり変わらない。)なのと、
> ※QUITを投げるとmailqに溜まらないので、QUIT無しでloopさせました。

QUIT を投げる投げないは mailq とは関係ないです。
QUIT 無しで loop というのは毎回接続するよりは効率的です。
本文などに変更が無いのであれば rcpt to: を並べる方がさらに良い。
この場合の問題はサーバーに接続出来なかったり、途中で切れたり
いろんなエラーの処理を自分で行う必要があるところですね。

非常に低速っていうのは mail 関数や 2 のような方法では
バックグラウンドで行われていることを全部やってるからですね。

> 2.system()関数でmailコマンドを打つ。
>  当たり前ですが、結果は1.と同じような状況でした。

これは mail 関数を使ってるのとほぼ同じです。

--
Teraoka Yoshinori <yteraoka @ dti.ad.jp>


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