説明
bool
mail ( string to, string subject, string message, string
[additional_headers], string
[additional_parameters])
mail()はmessageで
指定されたメッセージをtoで指定された
受信者に自動的にメールします。toの中の
各アドレスをカンマで区切ることにより、複数の受信者を指定できます。
添付書類付きのemailおよび特別なコンテンツ型のemailはこの関数で送
信可能です。これは、MIMEエンコーディングにより可能です。詳細な
情報については、
Zend articleまたは
PEAR Mime Classesを参照下さい。
以下のRFCも有用でしょう。
RFC 1896,
RFC 2045,
RFC 2046,
RFC 2047,
RFC 2048,
RFC 2049
mail() は、メール送信に成功した場合に TRUE 、
それ以外の場合に FALSE を返します。
例 1メールを送信する mail("joecool@example.com", "My Subject", "Line 1\nLine 2\nLine 3"); |
|
4番目の文字列が指定された場合、その文字列はヘッダの最後に挿入され
ます。通常、これはヘッダを追加する際に使用されます。複数のヘッダ
を追加する場合は、改行で区切ります。
注意
複数のヘッダを区切る場合、\r\nを使用する必要
があります。ただし、いくつかのUnix MTA(Mail transfer agents)では
改行文字(\n)だけでも動作します。
Win32システムでは、Cc: ヘッダは大文字小文字を区別し、
Cc:と書く必要があります。Bcc:ヘッダはWin32シ
ステムではサポートされていません。
例 2追加ヘッダを付加してメールを送信する mail("nobody@example.com", "the subject", $message,
"From: webmaster@$SERVER_NAME\r\n"
."Reply-To: webmaster@$SERVER_NAME\r\n"
."X-Mailer: PHP/" . phpversion()); |
|
パラメータadditional_parametersは、追加の
パラメータをメール送信プログラムに渡す際に使用可能です。
メール送信プログラムは、設定オプション
sendmail_pathにより設定されます。例えば、
sendmailを使用する際にエンベロープのsenderアドレスを設定する際に
使用することが可能です。この方法でエンベロープのsenderヘッダを設
定する際、'X-Warning'ヘッダが付加されないようにWebサーバを実行し
ているユーザをsendmail設定に追加しておく必要があるかもしれません。
例 3
追加ヘッダ及び追加コマンドラインパラメータを指定してメールを送信
mail("nobody@example.com", "the subject", $message,
"From: webmaster@$SERVER_NAME", "-fwebmaster@$SERVER_NAME"); |
|
注意
この5番目のパラメータは、PHP 4.0.5で追加されました。
複雑なemailメッセージを作成する際に簡単な文字列結合を使用すること
も可能です。
例 4複雑なemailを送信する /* 送信先 */
$to = "Mary <mary@example.com>" . ", " ; // カンマで区切る
$to .= "Kelly <kelly@example.com>";
/* 題名 */
$subject = "Birthday Reminders for August";
/* メッセージ */
$message = '
<html>
<head>
<title>Birthday Reminders for August</title>
</head>
<body>
<p>Here are the birthdays upcoming in August!</p>
<table>
<tr>
<th>Person</th><th>Day</th><th>Month</th><th>Year</th>
</tr>
<tr>
<td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
<td>Sally</td><td>17th</td><td>August</td><td>1973</td>
</tr>
</table>
</body>
</html>
';
/* HTMLメールを送信する場合、Content-typeヘッダを指定可能です。 */
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
/* 追加ヘッダ */
$headers .= "From: Birthday Reminder <birthday@example.com>\r\n";
$headers .= "Cc: birthdayarchive@example.com\r\n";
$headers .= "Bcc: birthdaycheck@example.com\r\n";
/* ここでメールを送信する */
mail($to, $subject, $message, $headers); |
|
注意
toまたはsubjectに
改行文字を含まないようにして下さい。さもないと、正常に動作しない
可能性があります。