[PHP-users 14678]Re: phpでメーリングリストでの配信

Youichi Iwakiri yiwakiri @ st.rim.or.jp
2003年 4月 16日 (水) 17:41:50 JST


<dlllixilllb @ hotmail.com> wrote in <000501c303e8$f98ae030$1808a8c0 @ DLLIXILLB> :
>Cobaltはファイルの位置が独特なので、smtpfeedに変更するにも
>Sendmailをコンパイルしなくてはいけません。(これでは
>デフォルトの位置と変わる)postfixが変更が容易に行えるという
>ことなのですが、それもcobaltではなく、、、
>ひとつ見つけた方法は、今のsendmailはそのまま
>運営しつつ、qmailをインストールしてfml(メーリングリスト)
>で送信する場合のみqmailを使用するという方法です。
>これをやろうと思うのですが、ここで問題です。

MTAがいずれであろうが、php.iniのsendmail_pathディレクティブを
修正すれば、変更は可能です。
大抵のMTAはsendmail互換のために、sendmailという名称のラッパーを
用意しています。

>配信方法に話を戻します。
>送信元のアドレス1つにつき100名ぐらいの送信先ユーザがいます。
>それが10個くらいあります。そこでメーリングリストなので
>mb_send_mailで送信元のアドレスにメールを送ります。
>そしてユーザ情報をDBから取得してメーリングリストのファイルに
>挿入しようと思います。ここまでは何とか想像つくのですが、

ここで、やろうとしていることは配送先リストをDBから抽出して
作成しようとしているのでしょうか?

それでしたら、下記の問題は、そもそも発生しないのではと思います。
fmlの場合ですと、
/var/spool/ml/mailing-list-name
といったディレクトリが作成され、そこに配送先リストも置かれるので
他のMLと同一のファイルにアクセスするわけではないので、杞憂でしょう。

>この繰り返しの中で、100人に送信する前にファイルを次の
>送信元用に書き換えてしまうのでは?という疑問です。
>mb_send_mailの返値で判断すれば?ということですが
>その時の返値ってどうなるのでしょうか?
>普通送信元に送信できた段階でtrueと帰ってくるはずです。

sendmailに渡せた時点でTRUEが返ります。

>では、どのようにして送信し終えたか?という判別を
>行えばいいのでしょうか?送信されないまま、またメーリングリストの
>ユーザファイルを書き換えてしまったら、という問題です。
>メーリングリストは
>fmlかできたら、majordomoを使用しようと思っています。

#配送先リストをDBに登録し、それを利用する手段が
#fml-4.0-stable-yyyymmddにはあるのでそれを素直に
#使えば問題無さそな気が

-- 
Youichi Iwakiri



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