English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

オンラインツール

PHP基本チュートリアル

PHP高度なチュートリアル

PHP & MySQL

PHP メールの送信

Object関数

このチュートリアルでは、PHPのmail()関数を使用して、スクリプトから簡単なテキストやHTMLメールを直接送信する方法を学びます。

PHP mail()関数

Webアプリケーションでは、メールを送信することが非常に一般的です。例えば、ユーザーがウェブサイトでアカウントを作成したときにウェルカムメールを送信したり、登録ユーザーにニュースレターを送信したり、ウェブサイトの連絡フォームを通じてユーザーフィードバックやコメントを取得したり、などです。

PHPの内蔵関数mail()を使用して、PHPアプリケーションから纯テキスト形式またはフォーマットされたHTMLの動的メールメッセージを一つまたは複数の宛先に送信できます。この関数の基本的な構文は以下のように示されます:

mail(to, subject, message, headers, parameters)

以下のテーブルは、この関数のパラメータをまとめています。パラメータ
説明 - 必須
以下のパラメータは必須です宛先のメールアドレス。
件名送信するメールの件名。このパラメータ、すなわち件名行には、ラインフィード(\n)を含めないでください。
メッセージ送信するメッセージを定義します。各行はラインフィード(\n)で区切られます。行数は70文字
オプション - 以下のパラメータはオプションです
ヘッダー通常、追加のヘッダーを追加するために使用されます。例えば、「送信者」、「カップリング」、「秘密のカップリング」。追加のヘッダーは、キャリッジリターンとラインフィード(\r\n)で区切られます。
パラメータ他のパラメータを渡すために使用されます。

テキストメールの送信

PHPでメールを送信する最も簡単な方法は、テキストメールを送信することです。以下の例では、まず変数を宣言します。-宛先のメールアドレス、件名行、メール本文-それから、メールを送信するためにmail()関数にこれらの変数を渡します。

<?php
$to = '[email protected]';
$subject = '求婚';
$message = 'こんにちは、簡、私に嫁じてくれませんか?'; 
$from = '[email protected]';
 
//メールを送信する
if(mail($to, $subject, $message)){
    echo 'あなたのメールは成功で送信されました。';
} else{
    echo 'メールを送信できません。もう一度試してください。';
}
?>

HTML形式のメールを送信する

PHPを使用してテキストメッセージを送信する場合、すべての内容はシンプルなテキストとして見なされます。この出力を改善し、メールをHTML形式のメールに変換します。

HTMLメールを送信する場合、プロセスは同じですが、今回は他のヘッダーとHTML形式のメッセージを提供する必要があります。

<?php
$to = '[email protected]';
$subject = '求婚';
$from = '[email protected]';
 
//HTMLメールを送信するには、Content-typeヘッダー
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
 
//メールのタイトルを作成する
$headers .= 'From: '.$from."\r\n".
    'Reply-To: '.$from."\r\n" .
    'X-Mailer: PHP/' . phpversion();
 
//シンプルなHTMLメールを作成する
$message = '<html>';
$message .= '<h1 style="color:#f40;">Hi Jane!</h1">
$message .= '<p style="color:#080;font-size:18px;">Will you marry me?</p>';
$message .= '</html>';
 
//メールを送信する
if(mail($to, $subject, $message, $headers)){
    echo 'あなたのメールは成功で送信されました。';
} else{
    echo 'メールを送信できません。もう一度試してください。';
}
?>

注意:PHP mail()関数はPHPの核心の一部ですが、実際に機能するためにコンピュータ上でメールサーバーを設定する必要があります。

次の二章(PHPフォームの処理およびPHPフォームのバリデーション)中、あなたのウェブサイトでインタラクティブな連絡フォームを実装し、このPHPのメール送信機能を使用してユーザーのコメントやフィードバックをメールで受け取る方法を学びます。