PHPでメルマガを配信する方法(BCCで一括送信するパターン)
2024/02/25
PHPでメールマガジンを配信したかった。宛先のメールアドレスはMySQLに保存されているという状況。1件ずつループで送信するのかと思ったけど、BCCで送る方法があるみたい。今回はBCCでの配信方法をメモ。
1件ずつ送信するパターン(2016/04/07追記)
1件ずつ送信するパターンの記事を追加した。
ソースコード
<?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
関連記事
-
-
PHPにて指定した期間内のランダムな日付をn件生成し、日付順にソートした上で受け取る方法
PHPにて指定した期間内のランダムな日付を指定した数だけ生成し、さらに日付順にソ ...
-
-
PHPで画像のフォーマット(拡張子)の変換
画像のアップロードでjpg/png/gif形式を受け付けつつ、 最終的にjpgで ...
-
-
PHPにてメインドメイン⇔サブドメイン間でCookie及びSESSIONを共有する方法
PHPにてメインドメインのサイトで発行したCookie及びSESSIONをサブド ...
-
-
PHPでサイトマップを動的に生成する方法
WordPress等のCMSは使っておらず、自動更新するサイトがあり、そのサイト ...
-
-
PHPにてユニークかつランダム英数字の文字列を作成する方法
PHPでユニークな文字列を作成したかった。MySQLとかのオートインクリメントの ...