LoginSignup
2
2

More than 1 year has passed since last update.

PHPで超ミニマムお問い合わせ画面を作る

Last updated at Posted at 2021-08-30

PHPでのメール送信について説明する機会があったので、最小限のサンプルをここにも書いておきます。
さくらのレンタルサーバ ライトプラン(PHP7.4)で動作確認しました。

対象の読者

  • 「お問合せ」画面の仕組みを作りたい(サイトに訪れた人が「お問合せ」画面で入力し、「送信」ボタンを押すと管理人にメールが届く)
  • PHPが動くサーバがある

mb_send_mail とは

PHPに最初から備わっている「メール送信ができる関数」。
詳しくはリファレンスを参照。

確認してみる

メール送信の部分だけを確認するため、余分なところは省いていますが、このままコピペでも動きます。
(さくらのレンタルサーバであればwwwフォルダに以下の2ファイルを作成して、 http://ドメイン名.sakura.ne.jp/test.html で確認できます。)

test.html

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

<form action="mail.php" method="POST">
  <input name="name">
  <input name="contact">
  <textarea name="text"></textarea>
  <input type="submit">
</form>

mail.php

<?php
mb_send_mail(
  "postmaster@XXXXXXXX.sakura.ne.jp",
  "ポートフォリオ問合せ",
  "ポートフォリオの問合せ画面に入力がありました。
    お名前: {$_POST["name"]}
    ご連絡先:{$_POST["contact"]}
    内容:{$_POST["text"]}
  ",
  "From: postmaster@XXXXXXXX.sakura.ne.jp
Return-Path: postmaster@XXXXXXXX.sakura.ne.jp
Content-Type: text/plain;charset=UTF-8");
?>
お問い合わせありがとうございます。<br>
お問い合わせを受け付けました。<br>
内容を確認してお返事いたしますので、お待ちくださいませ。<br>
<br>
<a href="<?=$_SERVER["HTTP_REFERER"]?>">戻る</a>

※ メールアドレスのXXXXXXXXと、htmlの各のname="XXXX"と、phpの$_POST["XXXX"]は適宜修正しましょう。

のaction="mail.php"は、htmlとphpが別のフォルダにある場合は修正しましょう。

以上です。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2