(PHP 3, PHP 4 )
mail -- メールの送信
説明
bool mail (string to, string subject, string message, string
[additional_headers], string
[additional_parameters])
mail()はmessageで
指定されたメッセージをtoで指定された
受信者に自動的にメールします。toの中の
各アドレスをカンマで区切ることにより、複数の受信者を指定できます。
例 1メールを送信する
mail ("rasmus@lerdorf.on.ca", "My Subject", "Line 1\nLine 2\nLine 3");
|
|
4番目の文字列が指定された場合、その文字列はヘッダの最後に挿入され
ます。通常、これはヘッダを追加する際に使用されます。複数のヘッダ
を追加する場合は、改行で区切ります。
5番目のパラメータを指定した場合、PHPはこのデータをメーラをコール
際に追加します。この機能は、sendmailを使用する際に正しい
Return-Pathヘッダを設定したい場合に便利です。
例 2追加ヘッダを指定してメールを送信
mail("nobody@aol.com", "the subject", $message,
"From: webmaster@$SERVER_NAME\nReply-To: webmaster@$SERVER_NAME\nX-Mailer: PHP/" . phpversion());
|
|
5番目のパラメータを指定するとこれが使用するメーラのコマンドライン
パラメータに追加されます。以下の例では、sendmailに正しい
Return-Pathを設定しています。通常、sendmailは-fパラメータを使用し
た場合にX-Authentication-Warningヘッダを追加します。これは、通常、
Webサーバのユーザが認証済のユーザのメンバではないことが多いからで
す。この警告をなくすには、Webサーバのユーザを使用するsendmailの設
定ファイルの認証済のユーザ(trusted users)に追加する必要があります。
注意
この5番目のパラメータは、PHP 4.0.5で追加されました。
例 3
ヘッダおよびコマンドラインパラメータを追加してメールを送信
mail("nobody@aol.com", "the subject", $message,
"From: webmaster@$SERVER_NAME", "-fwebmaster@$SERVERNAME");
|
|
複雑なemailメッセージを作成する際に単純な文字列結合を使用すること
も可能です。
例 4複雑なemailを送信する
/* recipients */
$recipient .= "Mary <mary@u.college.edu>" . ", " ; //コンマで区切る
$recipient .= "Kelly <kelly@u.college.edu> . ", ";
$recipient .= "ronabop@php.net";
/* 題名 */
$subject = "Birthday Reminders for August";
/* メッセージ */
$message .= "The following email includes a formatted ASCII table\n";
$message .= "Day \t\tMonth \t\tYear\n";
$message .= "3rd \t\tAug \t\t1970\n";
$message .= "17rd\t\tAug \t\t1973\n";
/* 保存されたsigunatureを追加できます */
$message .= "--\r\n"; // signatureの区切り
$message .= "Birthday reminder copylefted by public domain";
/* エラー用、From、cc、bcc、等の追加ヘッダ */
$headers .= "From: Birthday Reminder <birthday@php.net>\n";
$headers .= "X-Sender: <birthday@php.net>\n";
$headers .= "X-Mailer: PHP\n"; // メイラー
$headers .= "X-Priority: 1\n"; // 緊急メッセージ!
$headers .= "Return-Path: <birthday@php.net>\n"; // エラー時の返信先
/* HTMLメールを送信したい場合、次の行のコメントを外して下さい */
// $headers .= "Content-Type: text/html; charset=iso-8859-1\n" // MIME型
$headers .= "cc:birthdayarchive@php.net\n"; // CCの宛先
$headers .= "bcc:birthdaycheck@php.net, birthdaygifts@php.net\n"; // BCCの宛先
/* ここでメールを送信する */
mail($recipient, $subject, $message, $headers);
|
|
注意
追加したパラメータあるいはsubjectパラメータの後に改行(または他の
空白文字)を付加しないようにして下さい。この場合、おかしな結果に
なってしまう可能性があります。