勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

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

   2016/04/07  PHP

※2016/04/07追記

1件ずつ小分けで送る方法の記事追加。

 

PHPでメールマガジンを配信したかった。宛先のメールアドレスはMySQLに保存されているという状況。1件ずつループで送信するのかと思ったけど、BCCで送る方法があるみたい。今回はBCCでの配信方法をメモ。

 

■ソース

<?php
$to = 'info@hoge.com';
$subject = 'タイトル';
$body = '本文';
$header = 'From: '.$to.'\n';
$header .= 'Bcc: test1@test.com, test2@test.com';
if( mb_send_mail($to, $subject, $body, $header) ){
	echo 'success';
}else{
	echo 'error';
}

 

■その他

$toは全ての送信先で表示されるので、サイト側のアドレスにするのが無難。

BCCの方はカンマ区切りで複数設定できる。MySQLからループで取り出してカンマ区切りの文字列にし、rtrim($bcc_list, ',')でお尻のカンマのみ外せば良い。

また、配信数が多い場合はタイムアウトが怖いのでset_time_limitで時間制限を解除しておいたほうが良さそう。

 

■set_time_limit

http://php.net/manual/ja/function.set-time-limit.php

 - PHP

  関連記事

PHPからMySQLデータを取得した際に一括で配列に入れる方法

MySQLからデータを取得して、PHP側で配列に入れる際に今まで一個ずつ書いてい ...

Opauthで「Please change the…」エラーの対応方法

Opauthを使用中に「Notice: Please change the va ...

フォームデータを一気に取得

<? error_reporting(E_ALL & ~E_NOT ...

特定のサイトからのリクエストのみ受け付けて処理する方法

指定したサイトからのリクエストのみ受け付けて処理したいという状況があった。その他 ...

CodeIgniterのバージョンの調べ方

CodeIgniterを使っているシステムがあったが、どうも記憶しているディレク ...