PHPでメール配信の方法を覚えました。SQLも用意しました。

CRONを使って身内に毎日お知らせを配信してみようと思います。

しかし配信先リストの管理方法が分かりません。

・新規登録や配信停止、あて先変更はどうやるか(ユーザから出来るようにしたい)
・PHPによるメール配信スクリプトに、どうアドレスを渡すか

PHPとMySQLを使ったちょうど良いサンプルがあればぜひお教え下さい。

回答の条件
  • 1人2回まで
  • 登録:2008/03/06 04:02:31
  • 終了:2008/03/13 04:05:02

回答(3件)

id:felix33jp No.1

felix33jp回答回数484ベストアンサー獲得回数32008/03/07 22:47:46

id:freewriter

間違えて違うURLを貼っていませんか?

というくらい全く違う話ですね。。

「おとなり質問」で自動的に出てくる回答の方がまだ的を得ています。

2008/03/08 05:23:31
id:watch00 No.2

watch00回答回数112ベストアンサー獲得回数02008/03/10 02:36:02

ポイント35pt

メルマガ独自配信システム

http://www.yumemaboroshi.net/cgi2361/


http://www.yumemaboroshi.net/cate16/

これ以外にもFreeでメルマガ独自配信システムが

あるので、ソースを参考にすればよいと思いますよ。

id:tezcello No.3

tezcello回答回数459ベストアンサー獲得回数692008/03/11 11:35:45

ポイント10pt

丁度よいサンプルというのが見つからないので、方向性だけで申し訳ない。

(今、メーリングリストプログラムを制作中ですがご希望のものとは違いますし、未完成なので)


新規登録や変更をWeb上でやる場合はそれほど難しくは無いですよね?

新規登録や変更のページを作って、アドレス等を入力・変更してもらい、リストに記録します。


「身内」とあるので、それ程数が多くないと予想します。

それなら、データベースを持ち出さなくても、アドレスと名前などを

ファイルに記録するだけで済みそうな気がします。

例えば、メールアドレス,名前,パスワード,○○○ のようなカンマ(やタブ)区切りで

1行1アドレスで書いておいて読み込むだけです。

以下のコードで $list[][0] にメールアドレスが入ります

$addrs = file('filename.csv');
foreach ($addrs as $a){
  $list[] = explode(',', $a); 
}

データを読み込んだら、新規の登録なら配列に追加、変更なら該当項目を変更して

書き出せばOKです。

ただし、セキュリティ(スパム目的の登録の排除や、他人の登録状況の改竄や漏洩防止、など)

の確保や、メールアドレスの間違い防止などは織込む必要があるでしょう。


メールを送信する時は、同じ様にアドレスリストを読み出して、

foreach ($list as $mbr){
  $to = $mbr[0];
  send_mail_func($to, $subject, $msg, $from);
}

とでもしてループで回してやればいいと思います。

  send_mail_func() は、すでに使われているメール送信の部分と置き換えて下さい。


登録等をメールでやる場合は、.forward にメール到着時に起こしたいアクションを記述

する事で実現します。(サーバおよび、設定依存ですが)

"| /usr/bin/php -f /home/hoge/fuga/test.php || exit 75"

こう書いたファイル .forward をホームディレクトリに置いておけば、メールが届く度に

/home/hoge/fuga/test.php を実行してくれると思います。


スクリプト側では、

$tmp = stream_get_contents(STDIN);

とすれば、$tmp にメールの内容が代入されます。

後はメールの内容によってアドレスの登録などを実装すればOKです。



PHP: PHP をコマンドラインから使用する - Manual

cron の設定ガイド

空メールでユーザ登録 - ♪8th Note♪


(回答拒否に敢えてコメントで応じる必要は無いと控えてましたが、解除されたようなので...)

  • id:gunpei_yokoi
    その前に
    ご利用の環境でメール配信出来るか
    確認を行なってください
    最近世知辛い世の中ですから(OP25B)
  • id:freewriter
    一旦引っかかりましたが、その点は解決してます。
    ありがとうございます。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません