LoginSignup
8
11

More than 5 years have passed since last update.

PHPMailerで複数の宛先へメールを送信する

Posted at

やりたいこと

外部のメールサーバを参照してメール送信を行なっているのだけど、宛先が複数だった場合に、エラーがあったので、対処した。
解決方法自体はなんてことないけど、同様な問題に当たってしまう人もいるかと思うので、残しておく

具体的にはどんな事象かというと以下のような感じ

正しく動作している例:

$to = 'hoge@mail.com';
$mail->addAddress($to);

$mail->send();

上記のような場合は、正しく動作する。
今回起こった事象として、以下のような事象

// $toにカンマ区切りで、宛先が複数指定されていた
$to = 'hoge@mail.com,hoge2@mail.com';
$mail->addAddress($to);

$mail->send();

上記見てわかるように、$mail->addAddressで複数の宛先を指定していたためエラーになった。

解決方法

$to = 'hoge@mail.com,hoge2@mail.com';
$to = explode(',',$to);

for ($i = 0; $i < count($to); $i++) {
  $mail->addAddress($to[$i]);
}

とすればいいと思います。上記の方法であれば、$toの中がカンマで区切られてなくてもエラーとならず正しく動作します。

8
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
11