DBにある顧客のアドレスに一斉送信 - PHPプロ!Q&A掲示板

2791

  • 0P

DBにある顧客のアドレスに一斉送信

質問日時 / 2010年6月28日 02:11    回答数 / 6件

Questioner:  LILITH  このエントリーをはてなブックマークに追加 

キーワード / キーワードが設定されていません

自分がやりたいことはDBにある顧客のアドレスを例えばですが、500件ならQdmailなどで100件づつ同じ内容を一斉送信したいと考えております。
管理画面とかでいつでも送れるようになれれば一番理想ですが。。。
今後もし顧客情報が多くなった場合でも対処できるような状況にしたいとおもっております。
一斉送信はいままでやったことがないのでご教授を頂ければ幸いです。宜しくお願いいたします。

この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。



ツリー一覧

┗A01shimixちょっと質問の内容が把握出来てません(いったい何が
 ┗A01-1LILITHご回答ありがとうございます。 (参考)となるもの拝
  ┗A01-1-1shimix絵文字の話題はつい先日もありましたね。検索しなくて
   ┗A01-1-1-1LILITH無視したわけではありません。 ただ、初めてのことな
    ┣A01-1-1-1-1shimix>それは普通にSELECT文で全部表示させてコピペでテキ
    ┗A01-1-1-1-2galluがると申します。 失礼かとは思うのですが。 この

回答一覧

並び替え:

A01
answerershimix [6月28日 10:11]

ちょっと質問の内容が把握出来てません(いったい何がわからないのかが読み取れません)が、私が作るとしたらという前提で(汗

最初のステップとして、メール本文とメールアドレスの抽出条件をPOSTして、メール本文をファイルに書き出すとともに対象となるメールアドレスを100件ごとにファイルに書き出しますね。

そのファイルを元にして、あとはメールアドレスのファイルを指定して送信指示するか、cronで走らせるかあたりになると思います。

送信済みのメールアドレスは、データファイルごと消してしまうか別ファイルでファイル名/送信済みフラグを保持するかは、管理・運用をどうするか次第で決めます。


(参考)
  http://www.google.co.jp/search?hl=ja&q=%E3%83%A1%E3%83%BC%E3%83%AB%20%E4%B8%80%E6%8B%AC%20site%3Awww.phppro.jp

この意見に回答する

ツリーへ TOPへ

A01-1
replyerLILITH [6月28日 13:39]

ご回答ありがとうございます。
(参考)となるもの拝見いたしました。
色々検索かけてみたら、mb_send_mailとかで送るよりもPEAR::Mailを使ったほうがいいとのことが記載されておりましたがどちらがいいのでしょうか?
携帯サイトなので携帯3キャリアのみに一括で送信したいと考えております。絵文字とか使えたら更にうれしいですが・・・

DBに1000件登録してたとして100件ずつ取り込んで送信することも可能なのでしょうか?1000件とか一気に送ったらレンタルサーバーなので、負荷とかが心配です。(今後会員がもっと増えたときのために)

アフィリエイターのように大量にメールを送ってる人たちは
  1. このような感じで送信してるのでしょうか?(ちなみにあて先にメールアドレスが入らない状態です(汗)
  2. <?php
  3. $arr = array();
  4. $cn = mysql_connect("xxxxxx","xxxxxxx","pw");
  5. mysql_query("set character set sjis") or die("エラー");
  6. if(!$cn){
  7.     die("db connect Error");
  8. }
  9. if(!(mysql_select_db("xxxxxx"))){
  10.     die("db select error");
  11. }
  12. $sql = "SELECT * FROM users ORDER BY mail LIMIT 100";
  13. $res = mysql_query($sql$cn);
  14.  
  15. while($row = mysql_fetch_array($res)) {
  16.   array_push($arr$mailaddress);
  17.   $mailaddress = ($row['mail']);
  18.   
  19.   
  20.   echo($mailaddress);
  21.  
  22.  
  23. }
  24.   
  25.   echo("<h2>メールの送信</h2>");
  26.   echo count($arr)."件の会員に送信します。";
  27.   echo("<form action=\"fin-mail.php\" method=\"post\">");
  28.   echo "宛先:<input type='text' name='mail[]' value='".implode(','$arr)."'><br>";
  29.   echo("件名:<input type=\"text\" name=\"subject\"><br>");
  30.   echo("本文:<br><textarea name=\"message\" rows=\"5\" cols=\"30\"></textarea><br>");
  31.   echo("<input type=\"submit\" value=\"送信\">");
  32.   
  33. echo("</form>");
  34.   
  35. mysql_free_result($res);
  36. ?>
ご指導、ご教授お願い致します。

この意見に回答する

ツリーへ TOPへ

A01-1-1
replyershimix [6月28日 14:17]

絵文字の話題はつい先日もありましたね。検索しなくても一覧でタイトルが確認できたと思います。それに「Qdmailを使う予定」じゃなかったんでしょうか?

  http://www.phppro.jp/qa/2782

#というか条件の後出しは勘弁してください・・

あと、お使いのレンタルサーバの送信件数制限やキャリアの受け入れ制限がどうなっているかなどは確認されていますか?スクリプトを書く前にチェックしておかないとマズイです。場合によっては専用の送信サーバに任せた方がよほど楽で間違いがありません。携帯キャリアから制限IPに登録されては元も子もありません(というか同一サーバの他ユーザに迷惑かけまくります)。


で、提示されたような処理で100件ずつ送ると、次回からselectの条件に「未送信」というのが増えます。逆に言うと送信済みのデータは(送信済みフラグなどを作って)updateしておくことになります(limitで調整してもいいですが、そうなると全件の処理が終わるまでレコードの追加・削除が出来なくなります)。

それが面倒なので、全部のデータを100件ずつテキストファイルに抜き出しておいてファイルごとに処理する・・というのを提案したのですが、無視されたのは何故でしょうか?

この意見に回答する

ツリーへ TOPへ

A01-1-1-1
replyerLILITH [6月28日 14:27]

無視したわけではありません。
ただ、初めてのことなので、ごちゃごちゃになってるんです。
とりあえず、まずは全部のデータを100件、テキストファイルに保存することからはじめます。
それは普通にSELECT文で全部表示させてコピペでテキストファイルにいれるのでしょうか?

この意見に回答する

ツリーへ TOPへ

A01-1-1-1-1
replyershimix [6月28日 14:49]

>それは普通にSELECT文で全部表示させてコピペでテキストファイルにいれるのでしょうか?

それだと、テキストファイルをローカルに保存することになってしまいます。サーバに保存してやってください。テキストファイルの扱い方はカウンタとか掲示板のスクリプトをいくつか読めばわかるんじゃないかと思います。

  http://www.php.net/manual/ja/ref.filesystem.php

これが難しいということであれば、まずはレッツphpさんとこのチュウトリアルからやっていただかないと話が通じません。

  http://php.s3.to/tt/

この意見に回答する

ツリーへ TOPへ

A01-1-1-1-2
replyergallu [6月29日 00:02]

がると申します。

失礼かとは思うのですが。
この程度の内容で「ごちゃごちゃになっている」状態ですと、昨今の「比較的めんどうな」mail事情に合わせて実装をする、というのは、少々難易度が高すぎるように思いますが如何でしょうか?
きちんとしたプロに依頼されたほうがよろしいのではないか、と思います。

この意見に回答する

ツリーへ TOPへ

<<質問一覧へ



Pick Up Q&A

Q
動的なURLを静的に見せる方法
 このエントリーをはてなブックマークに追加 
A
普通に考えて、mod_rewrite でしょうね。 http://www.nishishi.com/blog/2006/01/mod_rewrite_url.html...

>>続きを読む

GETのままでは検索エンジンのロボットが拾ってくれなかったためにSEO対策として有効だと言われていますね。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)