PHP メールの送信

PHPはスクリプトから直接メールを送信することができます。

PHP mail() 函数

PHP mail() 函数はスクリプトからメールを送信するために使用されます。

文法

mail(宛先件名メッセージヘッダーパラメータ)
パラメータ 説明
宛先 必須。メールの受信者を指定します。
件名 必須。メールの件名を指定します。注記:このパラメータには改行文字を含められません。
メッセージ 必須。送信するメッセージを定義します。各行はLF(\n)で区切る。
ヘッダー

オプション。From、Cc、Bccなどの追加のヘッダーを指定。

オプション。追加のヘッダーをCRLF(\r\n)で区切って使用する。

パラメータ オプション。メール送信プログラムに追加のパラメータを指定。

注記:PHPにはメール機能を使用するためにインストールされており、動作しているメールシステムが必要です。使用するプログラムはphp.iniファイルの設定で定義されています。詳細については、以下の PHP メール リファレンスマニュアルもっと詳しくはこちら。

PHP簡単Eメール

PHPでメールを送信する最も簡単な方法は、テキストメールを送信することです。

以下の例では、まず変数($to, $subject, $message, $from, $headers)を宣言し、その後 mail()関数を使用してEメールを送信しています:

<?php
$to = "someone@example.com";
$subject = "テストメール";
$message = "こんにちは!これはシンプルなメールメッセージです。";
$from = "someonelse@example.com";
$headers = "From: $from";
mail($to,$subject,$message,$headers);
echo "メール送信済み.";
?>

PHPメールフォーム

PHPを使って、自分のサイトでフィードバックフォームを作成することができます。以下の例では、指定されたEメールアドレスにテキストメッセージを送信しています:

<html>
<body>
<?php
if (isset($_REQUEST['email']))
//「メール」が入力された場合、メールを送信
  {
  //メールを送信
  $email = $_REQUEST['email'] ; 
  $subject = $_REQUEST['subject'] ;
  $message = $_REQUEST['message'] ;
  mail(" someone@example.com ", "件名: $subject ",
  $message, "From: $email" );
  echo "Thank you for using our mail form";
  }
else
//if "email" is not filled out, display the form
  {
  echo "<form method='post' action='mailform.php'>
  メール: <input name='email' type='text' /><br />
  件名: <input name='subject' type='text' /><br />
  メッセージ:<br />
  <textarea name='message' rows='15' cols='40'>
  </textarea><br />
  <input type='submit' />
  </form>";
  }
?>
</body>
</html>

例説明:

  1. まず、メール入力フィールドが記入されているか確認します。
  2. (フォームが記入されていない場合、例えばページが初めて訪問された場合に)HTML フォームを出力します。
  3. (フォームが記入された場合に)フォームからメールを送信します。
  4. 送信ボタンをクリックすると、ページが再読み込みされ、メール送信成功のメッセージが表示されます。

PHP メール リファレンスマニュアル

PHP mail() ファンクションに関する詳細情報が必要な場合は、PHP メール リファレンスマニュアルにアクセスしてください。