簡単にメールフォームを実装できるのがPHPMailerです。
STMP認証もできるため、Gmailに弾かれないのも嬉しいところです。
ただ、慣れてないと意外とうまく動きません。
今回は、初心者の方向けにさくらのレンタルサーバを使って簡単なメールフォームを実装してみました。
Composerのインストール
まずはComposerをインストールします。Composerのインストール方法は他の記事に任せます。
PHPMailerのインストール
ComposerでPHPMailerをインストールします。
ここでは”php_mailer“フォルダを作っていますが、自由にしていただいて大丈夫です。
$ mkdir php_mailer
$ cd php_mailer
$ composer require phpmailer/phpmailer
さくらのレンタルサーバでメールアドレスを作成
さくらのレンタルサーバのコントロールパネルにログインし、「メールアドレス一覧」を開きます。

「新規追加」からメールアドレスを作ります。その際の「ユーザ名」と「パスワード」を後で使いますので、忘れないようにしてください。
HTMLでフォームを作る
適当に作業用フォルダを作っておいて、そこでHTMLで簡単なフォームを作ります。
デザインしたい方は各々でCSSを読み込んでください。
<!DOCTYPE html>
<html>
<head>
<title>問い合わせフォーム</title>
<meta charset="UTF-8">
</head>
<body>
<h2>問い合わせフォーム</h2>
<form action="send_email.php" method="post">
<label for="name">名前:</label><br>
<input type="text" id="name" name="name"><br>
<label for="email">メールアドレス:</label><br>
<input type="email" id="email" name="email"><br>
<label for="message">問い合わせ内容:</label><br>
<textarea id="message" name="message" rows="4" cols="50"></textarea><br>
<input type="submit" value="送信">
</form>
</body>
</html>
このHTMLファイルは以下のように表示されます。

このダサいフォームの入力値を受け取り、メールとして送信するためのPHPファイルを作ります。
PHPファイルを作成する
同じフォルダ内に”send_email.php“というPHPファイルを作成します。
ドメインやメールアドレス、パスワードなどは適宜書き換えてください。
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require './vendor/autoload.php'; // ComposerでインストールしたPHPMailerのautoloadファイルを読み込みます
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// フォームから送信されたデータを取得
$name = $_POST["name"];
$email = $_POST["email"];
$message = $_POST["message"];}
// PHPMailerのインスタンスを作成します
$mail = new PHPMailer(true);
try {
//さくらのレンタルサーバの初期ドメイン
$host = 'sample.sakura.ne.jp';
$user = 'mailacount@sample.sakura.ne.jp';//取得したメールアドレス
$password = 'password'; //メールアドレスを取得した時のパスワード
//差出人
$from = 'mailacount@sample.sakura.ne.jp'; //$userと同じ
$from_name = '差出人の名前';
$to = 'sample@gmaii.com'; //宛先のアドレス
$to_name = 'sample@gmaii.com';//この2つは同じでOK
//件名
$subject = '問い合わせ!';
//本文
$body = "名前:{$name}"."\n"
."メールアドレス:{$email}"."\n"
."問い合わせ内容:{$message}";
$mail->isSMTP();
$mail->SMTPAuth = true;
$mail->Host = $host;
$mail->Username = $user;
$mail->Password = $password;
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->CharSet = "utf-8";
$mail->Encoding = "base64";
$mail->setFrom($from, $from_name);
$mail->addAddress($to, $to_name);
$mail->Subject = $subject;
$mail->Body = $body;
//送信
$mail->send();
echo "メールの送信に成功しました";
} catch (Exception $e) {
echo "メールの送信に失敗しました: {$mail->ErrorInfo}";
}
?>
取得したメールアドレスは、”ユーザ名@ドメイン名”です。わからない場合はさくらのレンタルサーバのコントロールパネルの「ウェブメール」から確認できます。
vendorフォルダをコピー
先ほどのHTMLフォルダと同じ階層にphp_mailerの中にあるvendorフォルダをコピーして貼り付けます。

FTPを使ってアップロード
さくらのレンタルサーバにFTPソフトを使ってフォルダごと、もしくはフォルダの中身をアップロードします。
確認
アップロードしたHTMLファイルにアクセスして、以下のように入力して送信してみます。

すると、メールがちゃんと届きました。

今回は携帯メールアドレスでやりましたが、Gmailでも届きます。(高確率で迷惑メールフォルダに入ります)
まとめ
さくらのレンタルサーバでPHPMailerを使ってメールフォームを簡単に実装する方法を紹介しました。PHPMailerだとSMTP認証ができ、Gmailでも一応受信できるので、とりあえずメールフォームを作りたい方には向いていると思います。
最初はちょっとだけ戸惑いますが、慣れれば簡単ですね。