Codeworks Notes

 2021-09-09

PHP
プログラミング

基本のメール送信フォーム

フォームからのデータの受け渡しから文字の整形まで、仕組みがわかるまでしっかりとやり込むことができるのが「メールフォーム」です。基本形だけ書き留めるので「ヘッダーの詳細」とか「ファイルの添付」だとか「確認画面を作りたい」っていうのは説明しません。基本のみ。あとはがんばれ。

入力フォーム

<!-- 基本形 -->
<h1>メッセージを送信するフォーム</h1>
<p>下欄に必要事項をご記入の上、送信してください。</p>

<form method="post" action="sendmail.php">
	<label>お名前:</label>
	<input type="text" name="name">
	<label>メール(必須):</label>
	<input type="text" name="addr" required>
	<label>メッセージ:</label>
	<input type="text" name="msg">
	<input type="submit" value="メッセージを送信">
</form>

送信処理

<?php
// フォームの内容を受け取る
$name = htmlspecialchars($_POST['name'],ENT_QUOTES,'UTF-8')
$addr = htmlspecialchars($_POST['addr'],ENT_QUOTES,'UTF-8')
$msg  = htmlspecialchars($_POST['msg'],ENT_QUOTES,'UTF-8')

// 言語設定
mb_language("ja");
mb_internal_encoding("UTF-8");

// 送信先の設定
$to = "unko@fuck.off"		// 自分のメールアドレス
$subject = "${name}さんからメッセージが届きました。"

// 送信元の設定
$from = "${name} <${addr}>"

// ヘッダー設定
$header .= "From: " . $from ." \n";

// テキストメッセージ
$body = $msg;

// 送信
mb_send_mail( $to, $subject, $body, $header);
?>

<h1>メッセージを送信するフォーム</h1>

<p>メールを送信しました。<br />
運がよかったらお返事がくるかもね。</p>