• ベストアンサー

mail関数で複数の宛先にメールを送りたい

PHPで自作した問い合わせフォームをサイトに設置してメッセージを複数人(管理者、担当者、訪問者など)にメール送信できるようにしたいと思っております。 そこでMail関数でBCCが使えないかネットで調べたのですが、どうもその機能はWindowsのみとなっていたので、Windowsサーバーでないと使えないということなんですよね? では、to:に複数のアドレスを入れて送信とかはできないでしょうか?また、できるとすれば、書き方はどう書けばよいのでしょうか?ネットで調べた範囲ではできそうなのですが、それらしい記述を見つけられませんで、悩んでいます。 これでダメだとしてもMail関数で複数のメールアドレスに送信できればいいのですが、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mr_araki
  • ベストアンサー率85% (12/14)
回答No.1

Bccもいけると思いますよ //Bccバージョン $to = 'user01@domain.com'; $subject = 'Bcc Test'; $body = 'This is a test'; $headers = 'Bcc: user02@domain.com'; $option = ''; mail($to, $subject, $body, $headers, $option); //Toを複数バージョン $to = 'user01@domain.com,user02@domain.com';//半角カンマで区切ります $subject = 'To Test'; $body = 'This is a test'; $headers = ''; $option = ''; mail($to, $subject, $body, $headers, $option); Bccも同じようにカンマで区切って、複数指定できます

starship51
質問者

お礼

ありがとうございました。 まさにこれが聞きたかったことです。 先ほど、試してみたらうまく行きました。

その他の回答 (1)

  • wp_
  • ベストアンサー率54% (132/242)
回答No.2

まにゅある mail() http://jp.php.net/manual/ja/function.mail.php まにゅある mb_send_mail() http://jp.php.net/manual/ja/function.mb-send-mail.php >メールヘッダの最後に挿入される文字列。 >通常、これは追加のヘッダ(From、Cc、Bcc)のために用いられます。 複数のヘッダを追加する場合は CRLF(\r\n)で区切ります。 です。 mail()の第四引数に送り先を羅列しましょう。 $header = "CC: to4@example.com\r\n"; $header = "BCC: to5@example.com\r\n"; $header = "BCC: to6@example.com\r\n"; mail( 'to1@example.com,to2@example.com,to3@example.com' ,'SUBJECT' ,'body body body body' ,$header ); >どうもその機能はWindowsのみとなっていた(snip) その記述がどこにあるか知りたいですな。^^; windows版はsocketを開いてクエリを直に送信する仕様だったような記憶が。

starship51
質問者

お礼

ありがとうございました。 おかげさまでうまくいきました。 >>どうもその機能はWindowsのみとなっていた(snip) >その記述がどこにあるか知りたいですな。^^; 私も理解力が悪いのですが、下記ページにもありあます「変更履歴」「バージョン」のところに「4.3.0(Windows のみ)」と書いてあったのをすべてのヘッダがサポートされるようになったが、それはWindowsのみと解釈していました。 http://jp.php.net/manual/ja/function.mail.php 違うんですね。^^;

関連するQ&A