最終更新日:
公開日:
レシピ
メール送信
複数の宛先を指定する
mb_send_mail関数を使って、同時に複数のメールアドレスへ一括配信する方法を解説します。
この記事のポイント
- 複数の宛先にメールを一斉送信する
- 運営元にも同じ内容のメールを送信する
- mb_send_mail関数の使い方が分かる
目次
複数のメールアドレスへ一括送信
今回は、次のような時に便利な方法を解説します。
- 宛先のメールアドレスが1つじゃない
- システム管理者にも同じ内容のメールを送信したい
複数の宛先を指定
mb_send_mail関数では、次のようにパラメータを指定することができます。
mb_send_mail関数の基本的なコード例
mb_send_mail( $to, $subject, $text, $header, $parameter);
この中で、宛先は$toへ指定します。
複数の宛先を指定したい場合、メールアドレスを「,(半角カンマ)」で区切ることで指定できます。
例えば、次の3件のメールアドレスへ一括送信するとします。
- yamada@gray-code.com
- admin@gray-code.com
- ishikawa@gray-code.com
これらの宛先へmb_send_mail関数で送信すると、次のようなコードになります。
※ここでは便宜上、送信元や文字コードなどの指定は省略します。
コード例
<?php
// 宛先 ※同時に3件指定
$to = "yamada@gray-code.com,admin@gray-code.com,ishikawa@gray-code.com";
// 件名
$subject = "メールの送信テスト";
// 本文
$text = "こんにちは。
こちらはテストメールです。";
//メール送信
$response = mb_send_mail( $to, $subject, $text);
以上の指定で、3件のメールアドレスへ一括送信されます。
大量の宛先に送信する場合は別の方法を
メルマガ配信など、一気に大量の宛先へメール送信する必要こともあります。
しかしその時は、上記の方法で一括送信することはオススメしません。
今回の方法はお問い合わせフォームなどで、受付の確認用などに使用してください。
具体的な目安で言うと5件未満、多くても10件以下ぐらい。
理由はmb_send_mail関数の一括送信が効率的でないためサーバーに負荷が掛かりやすいことが挙げられます。
結果としてポート接続がタイムアウトし処理が完了しないなど、不具合が発生する原因となる可能性があります。
一括でたくさんの宛先にメール送信したい場合は、次のようなメール送信ライブラリの使用を検討してください。
Swift Mailer
PHPMailer