勉強したことのメモ

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

PHPでメルマガを配信する方法(BCCで一括送信するパターン)

   2024/02/25  PHP

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

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

 - PHP

  関連記事

CodeIgniter4&Bootstrap&jQueryで簡易版お問い合わせページの作成
CodeIgniter4&Bootstrap&jQueryで簡易版お問い合わせページの作成

CodeIgniter4.4.4&Bootstrap&jQuer ...

PHPにて「みんなの自動翻訳」のAPIで日本語から英語に翻訳する方法
PHPにて「みんなの自動翻訳」のAPIで日本語から英語に翻訳する方法

翻訳用のWeb APIを利用しようとすると「月に〇〇リクエストまでは無料」とかだ ...

PHPでルーティング用ライブラリ「AltoRouter」の利用方法
PHPでルーティング用ライブラリ「AltoRouter」の利用方法

PHPフレームワークのCodeIgniterを勉強していた際にルーティング機能が ...

PHPで土日祝日及び営業時間を考慮した上で翌○営業日を計算する方法
PHPで土日祝日及び営業時間を考慮した上で翌○営業日を計算する方法

PHPで翌○営業日を計算したい。例えば本日が2021/04/15で翌5営業日を計 ...

PHPでmysqli関数使用時のプリペアドステートメントの利用方法
PHPでmysqli関数使用時のプリペアドステートメントの利用方法

PHPでMySQLを扱う際はmysqli関数を、エスケープの際はreal_esc ...