2017年05月23日

mb_send_mail を使用したメール送信テンプレート : FORM の action で URL を指定する(画面と処理を別にする)



send_form_action.php
<?php
session_cache_limiter('nocache');
session_start();

$page_title = "メール送信";


?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title><?= $page_title ?></title>
<style>
body {
	background-color: lemonchiffon;
}

#main {
	padding: 20px 0px 20px 100px;
}

.btn {
	width: 70px;
}
</style>


<script>
function checkSubmit() {

	if ( !confirm("メールを送信しますか?") ) {
		return false;
	}

	return true;

}
</script>
</head>
<body>
<h3><?= $page_title ?></h3>

<div id="main">

	<form action="mail_send.php" method="post" onsubmit='return checkSubmit()'>

		<p>宛 先:<input id="to" type="email" required name="to" value="<?=$_POST["to"] ?>"></p>
		<p>件 名:<input id="subject"  type="text" name="subject" value="<?=$_POST["subject"] ?>"></p>
		<p>本 文:<input id="body"  type="text" name="body" value="<?=$_POST["body"] ?>"></p>
		<p><input class="btn" type="submit" value=" 送信 "></p>

	</form>

	<input  class="btn" type="button" value="リセット" onclick='location.href="<?= $_SERVER["PHP_SELF"] ?>"'>

</div>

</body>
</html>


mail_send.php
<?php
session_cache_limiter('nocache');
session_start();

$page_title = "メール送信実行(POST)";

mb_language("Japanese");
mb_internal_encoding("UTF-8");

if ( $_SERVER["REQUEST_METHOD"] == "POST" ) {

	$from_header = "From: " . mb_encode_mimeheader( mb_convert_encoding("差出人","iso-2022-jp") );

	// このソースを置くサーバから使えるメールアドレス
	$from_header .= " <ユーザ@ドメイン>";

	$result = mb_send_mail($_POST["to"], $_POST["subject"], $_POST["body"], $from_header);
	if ( $result ) {
		$_POST["result"] = 'メールを送信しました';
	}
	else {
		$_POST["result"] = 'メール送信に失敗しました';
	}

}

$debug = "\$_POST\n" . print_r($_POST, true) . "\n\$_SESSION\n" . print_r($_SESSION, true);

?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title><?= $page_title ?></title>
</head>
<body>
<h3><?= $_POST["result"] ?></h3>
<?php if ( $_SERVER["REQUEST_METHOD"] == "POST" ) { ?>
<input  class="btn" type="button" value="戻る" onclick='location.href="<?= $_SERVER["HTTP_REFERER"] ?>"'>
<?php } ?>


<pre>
<?= $debug ?>
</pre>
</body>
</html>



posted by at 2017-05-23 15:58 | テンプレート | このブログの読者になる | 更新情報をチェックする