PHP mail()関数
例
簡単なメールを送信:
<?php
// the message
$msg = "First line of text\nSecond line of text";
// use wordwrap() if lines are longer than 70 characters
$msg = wordwrap($msg,70);
// send email
mail("someone@example.com","My subject",$msg);
?>
定義と使用法
mail()関数を使用すると、スクリプトから直接メールを送信できます。
構文
<div>mail(<em>to,subject,message,headers,parameters</em>);</div>
パラメータ値
パラメータ |
説明 |
---|---|
to | Required 電子メールの受信者/受信者を指定します |
subject | Required 電子メールの件名を指定します。注:このパラメータに改行文字を含めることはできません |
message | 必要。送信するメッセージを定義します。各行はLF(\n)で区切る必要があります。
行は70文字を超えてはなりません。 Windows 注:メッセージの行頭にピリオドが見つかった場合、それは削除される可能性があります。この問題を解決するには、ピリオドを二重のドットに置き換えます: <?php $txt = str_replace("\n.", "\n..", $txt); ?> |
headers | Optional From、Cc、Bcc などの追加ヘッダーを指定します。追加のヘッダーはCRLF(\r\n)で区切る必要があります。 注:電子メールを送信するときは、Fromヘッダーが含まれている必要があります。これは、このパラメーターまたはphp.iniファイルで設定できます。 |
parameters | Optional sendmailプログラムへの追加パラメータを指定します (sendmail_path構成設定で定義されたもの)。 (つまり、sendmailを使用するときにエンベロープ送信者アドレスを設定するために使用できます。 -f sendmailオプションを使用) |
Technical Details
Return Value: | adressパラメータのハッシュ値を返します、または失敗した場合はFALSE。注:メールの配信が承認されたとしても、メールが実際に送受信されたわけではないことに注意してください。 |
---|---|
PHP バージョン: | 4+ |
PHP 変更ログ: |
PHP 7.2: headersパラメータは配列も受け入れます PHP 5.4: headersパラメータにヘッダーインジェクション保護を追加。 |
その他の例
ヘッダーを追加してメールを送信します。
<div><?php
$to = "somebody@example.com";
$subject = "My subject";
$txt = "Hello world!";
$headers = "From: webmaster@example.com" . "\r\n" .
"CC: somebodyelse@example.com";
mail($to,$subject,$txt,$headers);
?></div>
HTMLメールを送信します。
<div><?php
$to = "somebody@example.com, somebodyelse@example.com";
$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>
";
// Always set content-type when sending HTML email
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
// More headers
$headers .= 'From: <webmaster@example.com>' . "\r\n";
$headers .= 'Cc: myboss@example.com' . "\r\n";
mail($to,$subject,$message,$headers);
?> </div>
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。