PHPのmail()関数
2491 ワード
定義と使用法
mail()関数を使用すると、スクリプトから直接Eメールを送信できます.
メールの送信が正常に受信された場合はtrueを返し、そうでなければfalseを返します.
構文
パラメータ
説明
to
必要です.メールの受信者を定める.
subject
必要です.メールの件名を決める.このパラメータには改行文字を含めることはできません.
message
必要です.送信するメッセージを指定します.
headers
必要です.From、Cc、Bccなどの追加ヘッダを指定します.
parameters
必要です.sendmailプログラムの追加パラメータを指定します.
説明
メッセージパラメータで指定されたメッセージでは、行間をLF()で区切る必要があります.行ごとに70文字を超えてはいけません.
(Windows下)PHPがSMTPサーバに直接接続されている場合、1行の先頭に1つのピリオドが見つかった場合は削除されます.この問題を回避するには、1つのピリオドを2つのピリオドに置き換えます.
ヒントとコメント
注記:メールが計画の目的地に到着したわけではありません.
例
例1
簡単なメールを送信:
例2
追加ヘッダ付きemailを送信:
例3
HTMLメールを送信:
mail()関数を使用すると、スクリプトから直接Eメールを送信できます.
メールの送信が正常に受信された場合はtrueを返し、そうでなければfalseを返します.
構文
mail(to,subject,message,headers,parameters)
パラメータ
説明
to
必要です.メールの受信者を定める.
subject
必要です.メールの件名を決める.このパラメータには改行文字を含めることはできません.
message
必要です.送信するメッセージを指定します.
headers
必要です.From、Cc、Bccなどの追加ヘッダを指定します.
parameters
必要です.sendmailプログラムの追加パラメータを指定します.
説明
メッセージパラメータで指定されたメッセージでは、行間をLF()で区切る必要があります.行ごとに70文字を超えてはいけません.
(Windows下)PHPがSMTPサーバに直接接続されている場合、1行の先頭に1つのピリオドが見つかった場合は削除されます.この問題を回避するには、1つのピリオドを2つのピリオドに置き換えます.
<?php
$text = str_replace("
.", "
..", $text);
?>
ヒントとコメント
注記:メールが計画の目的地に到着したわけではありません.
例
例1
簡単なメールを送信:
<?php
$txt = "First line of text
Second line of text";
// 70 , wordwrap()。
$txt = wordwrap($txt,70);
//
mail("[email protected]","My subject",$txt);
?>
例2
追加ヘッダ付きemailを送信:
<?php
$to = "[email protected]";
$subject = "My subject";
$txt = "Hello world!";
$headers = "From: [email protected]" . "\r
" .
"CC: [email protected]";
mail($to,$subject,$txt,$headers);
?>
例3
HTMLメールを送信:
<?php
$to = "[email protected], [email protected]";
$subject = "HTML email";
$message = "
<html>
<head>
<title>HTML email</title>
</head>
<body>
<p>This email contains HTML Tags!</p>
<table>
<tr>
<th>Firstname</th>
<th>Lastname</th>
</tr>
<tr>
<td>John</td>
<td>Doe</td>
</tr>
</table>
</body>
</html>
";
// HTML , content-type
$headers = "MIME-Version: 1.0" . "\r
";
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r
";
//
$headers .= 'From: <[email protected]>' . "\r
";
$headers .= 'Cc: [email protected]' . "\r
";
mail($to,$subject,$message,$headers);
?>