勉強したことのメモ

webプログラマ見習いが勉強したことのメモ。

PHPでメルマガを配信する方法2

   

以前にPHPでメルマガを配信する方法を書いたけど、BCCだと相手の名前などユーザー情報を記述するわけにはいかず、また、BCCの件数に制限があるみたく、数千件以上配信する場合は小分けにする必要がありそう。なので1件ずつ処理する方法を考えた。

 

■ソース

mail.php

 

send.php

 

■使い方

メール本文やタイトルを入力するフォームを作って、その受け取り先をmail.phpにする。mail.phpからsend.phpをバックグラウンド処理させる。尚、フォームの時点で現在配信中のフラグが立っていないかチェックし、もしも配信中のフラグがあれば「現在配信中のためお待ち下さい」的な表示にし、フォームは非表示にするのが良さそう。

 

■バックグラウンド処理

普通にPHPで処理しようとするとブラウザを開きっぱなしにしないといけないけど、これだと途中で閉じたりとかページ更新された場合にどうなるのか分からず怖い。なので、バックグラウンドで処理できないかと調べたらexec関数でいけるらしい。mail.phpにも書いているけど以下の形で使う。

最初は引数をsend.php?hoge=1&name=aaaみたいに書いたけど、そうではなく半角スペースで区切って記述する。

受け取り側は$argvという変数で受け取る。$_GET[]では受け取れないので注意。また、$argv[0]はスクリプト名になるので$argv[1]以降を使う。

 

■$argvリファレンス

http://php.net/manual/ja/reserved.variables.argv.php

 

■execリファレンス

http://php.net/manual/ja/function.exec.php

 

■その他

バックグラウンド処理ってのは初めてだったので勉強になった。まだ実装は出来ていないけど概ね今回の構想でいけそう。

 - PHP

  関連記事

images
ページング処理用PHP

/* @内容 ページング処理のfunction @使い方 //******親ペー ...

images
PHPでPOST送信する際に多次元配列も送る

PHPでPOST送信する際に多次元配列も送りたかった。ただ普通に送ろうとするとO ...

images
mp3ファイルのアップロードと再生方法

mp3ファイルをformでアップロードしたかったのと、Webサイト上で再生したか ...

images
定数とグローバル宣言した配列

定数のメリットが分からず、ほとんど使ってこなかったけど 画像用のfunction ...

images
PHPで他サーバにファイルをアップロードする2

formで画像を送信した後、他サーバにファイルをアップロードしたかった。以前はP ...

images
フォーム管理画面テンプレPHP

<?php ini_set( 'display_errors', 0 ); ...

images
PHPで数値チェック

ページング情報だったりフォーム情報だったりで、 数値かどうかをチェックしたかった ...

images
PHPでのファイル関係

ファイルを呼び出したり書き込んだりとかしばしば行うが、 未だに調べることが多いの ...

images
さくらvpsでPHPのエラーログ設定

PHPのエラーログを設定した際のメモ。 vi /etc/php.ini で設定フ ...

images
PHPで数字のプラスとマイナスを反転させる

gmp_neg http://php.net/manual/ja/functio ...