PHPでフォームが送信されたときにメールを送信する方法


  1. フォームのHTMLを作成します。HTMLフォームには、ユーザーからの入力を受け取るフィールド(例:名前、メールアドレス、メッセージなど)と送信ボタンが含まれます。

例:

<form action="send_email.php" method="POST">
  <input type="text" name="name" placeholder="名前" required>
  <input type="email" name="email" placeholder="メールアドレス" required>
  <textarea name="message" placeholder="メッセージ" required></textarea>
  <input type="submit" value="送信">
</form>

例:

<?php
$to = "[email protected]"; // 受信者のメールアドレス
$from = $_POST['email']; // 送信者のメールアドレス(フォームから取得)
$name = $_POST['name']; // 送信者の名前(フォームから取得)
$message = $_POST['message']; // メッセージ(フォームから取得)
$subject = "フォームが送信されました"; // 件名
$body = "名前: " . $name . "\n\n";
$body .= "メールアドレス: " . $from . "\n\n";
$body .= "メッセージ:\n" . $message;
$headers = "From: " . $from . "\r\n";
$headers .= "Reply-To: " . $from . "\r\n";
// メールを送信
$mailSent = mail($to, $subject, $body, $headers);
if ($mailSent) {
  echo "メールが送信されました。";
} else {
  echo "メールの送信に失敗しました。";
}
?>
  1. フォームのデータを受け取り、メールを送信するためのSMTPサーバーの設定が正しく行われていることを確認します。サーバーの設定に関する詳細は、ホスティングプロバイダーやサーバー管理者に問い合わせてください。

これで、フォームが送信されたときに指定した受信者にメールが送信されます。必要に応じて、メールの内容や送信先などをカスタマイズしてください。また、エラーハンドリングやセキュリティ対策など、追加の機能や改善を行うこともできます。