PHPプログラミング

最終更新日:
公開日:

レシピ

メール送信

複数の宛先を指定する

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

こちらの記事は役に立ちましたか?

ありがとうございます。
もしよろしければ、あわせてフィードバックや要望などをご入力ください。

コメントありがとうございます!
運営の参考にさせていただきます。