2013年09月10日 追記・変更

メールフォームのサンプルプログラム

文字コードがShitf-JISだったり、コードとしては汚いが、参考になればとソースを晒す。
時間があれば修正したものを公開したいとは思う。

メールフォームのフォーム部分index.phpを作成

<?php
// 送信元の取得1
$para = $_GET['id'];
// 送信元の取得2
if( array_key_exists('id',$_GET)){
?>
<html lang="ja">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=Shitf-JIS">
	<title>お問い合わせフォーム</title>
	<style type="text/css">
	<!--
	body{
	background-color:#ffffff;
	color:#000000;
	font-size:14px;
	width:100%;}
	.submit{
	margin-left:20px;}
	-->
	</style>
</head>
<body>
<!-- -*- coding: Shift-JIS; -*- -->
<h1>お問い合わせ</h1>
<form action="mail.php?id=<?= $para ?>" method="post">
<dl>
	<dt>お名前:</dt>
	<dd><input type="text" size="30" name="name"></dd>
	<dt>メールアドレス:</dt>
	<dd><input type="text" size="30" name="mailaddress"></dd>
	<dt>URL:</dt>
	<dd><input type="text" size="30" name="url"></dd>
	<dt>件名:</dt>
	<dd><input type="text" size="30" name="subject"></dd>
	<dt>詳細:</dt>
	<dd><textarea cols="30" rows="10" name="comment"></textarea></dd>
</dl>
<div class="submit">
	<input type="submit" value="送信">
</div>
</form>
</body>
</html>
<?php
}else{
	//パラメータ無しの処理
}
?>

フォーム部分からデータを受け取り処理するmail.phpを作成

<?php
// メール送信php
// メールの送り先指定
$ToAddress = "メールアドレス@emailadress.com";
// 送信元の取得
if( array_key_exists('id',$_GET)){

?>
<html lang="ja">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=Shitf-JIS">
	<title>メール送信完了</title>
</head>
<body>
<!-- -*- coding: Shift-JIS; -*- -->
<?php
	// 言語を日本語に設定
	mb_language("ja");
	mb_internal_encoding("Shift-JIS");
	//--------------------------
	// ■送信者情報の取得
	//--------------------------
	// [1]送信元
	if( $_SERVER["HTTP_REFERER"]){
		$link = $_SERVER["HTTP_REFERER"];
	} else{
	//取得出来ない場合
		$link = "";
	}
	// [2]IPアドレス
	$host = $_SERVER["REMOTE_ADDR"];
	// [3]ブラウザ情報
	$agent = $_SERVER["HTTP_USER_AGENT"];

	//メール本文の設定
	$Message = "[お問い合わせ]===============================\n";
	$Message .= "ID:".$_GET['id']." 投稿がありました\n";
	$Message .= "メールフォーム\n";
	$Message .= $link."\n";
	$Message .= "============================================\n\n";

	$Message .= "[投稿情報] ".date("Y")."年".date("m")."月".date("d")."日".date(" H:i:s")."\n";
	$Message .= "お名前    : ".$_POST['name']."\n";
	$Message .= "メール    : ".$_POST['mailaddress']."\n";
	$Message .= "URL       : ".$_POST['url']."\n\n";
	$Message .= "■メッセージ\n";
	$Message .= $_POST['comment']."\n\n\n";
	$Message .= "[送信者情報]\n";
	$Message .= "送信元:" .$link."\n";
	$Message .= "IPアドレス:" .$host."\n";
	$Message .= "ブラウザ情報:" .$agent."\n";
	$Message .= "-----------------------------------------\n\n";
	$Message .= "メールフォーム";

	// メールを送信
	mb_send_mail($ToAddress, $_POST['subject'], $Message);

?>

<?php
	print "メールを送信致しました。<br />";
?>
</body>
</html>
<?php
}else{
	//パラメータ無しの処理
}

?>

この記事が気に入ったら下のボタンをクリック

  • このエントリーをはてなブックマークに追加
  • Clip to Evernote
  • LINEで送る