1. 基本
*これでレンタルサーバー上から送れることは確認。
1) htmlサイド
<html>
<head>
<meta charset="utf-8" />
<script type="text/javascript" charset="UTF-8"></script>
</head>
<body>
<form action="./mail.php" method="post">
<p>受信者</p><input type="text" name="to">
<p>タイトル</p><input type="text" name="title">
<p>本文</p><textarea name="content" cols="50" rows="5"></textarea>
<p><input type="submit" name="send" value="送信"></p>
</form>
</body>
</html>
2) phpサイド
<html>
<head>
<meta charset="utf-8" />
</head>
<body>
<?php
mb_language("Japanese");
mb_internal_encoding("UTF-8");
$to = $_POST['to'];
$title = $_POST['title'];
$content = $_POST['content'];
$headers .= "Content-type: text/html; charset=UTF-8";
if(mb_send_mail($to, $title, $content)){
echo "メールを送信しました";
} else {
echo "メールの送信に失敗しました";
}
?>
</body>
</html>
https://youtu.be/iykJl6iXCao
***************************
これにバリデーションを入れる
***************************
<!DOCTYPE HTML>
<html lang="ja">
<head>
<meta charset="utf-8">
<title></title>
<link href="xxx.css" rel="stylesheet" type="text/css">
<script src="./xxx.js"></script>
</head>
<body>
<form role="form" action="mail.php" method="post">
<div class="form-group">
<p><label for="exampleInputName1">Your Name</label>
<input type="text" class="form-control" id="exampleInputName1" placeholder="Enter name" name="name" required>
</P>
<p><label for="exampleInputEmail1">Email address</label>
<input type="email" class="form-control" id="exampleInputEmail1" placeholder="Enter email" name="email" required>
</p>
<p><label for="exampleInputText1">Message</label>
<textarea class="form-control" rows="3" name="message" required></textarea>
</p>
<p><label for="radio"></label>
<input type="radio" name="radio" value="0" />
*内容を確認し、よろしければ左のボタンをチェックした後、下の送信ボタンを押してください。</p>
</div>
<p><button type="submit" value="SEND MESSAGE" class="btn btn-default">Submit</button>
</p>
</form>
</body>
</html>
<PHP>
<?php
$field_name = $_POST['name'];
$field_email = $_POST['email'];
$field_message = $_POST['message'];
$mail_to = xxxxx@gmail.com(**送信先のメールアドレスを入力)';
$subject = 'Message from a site visitor '.$field_name;
$body_message = 'From: '.$field_name."\n";
$body_message .= 'E-mail: '.$field_email."\n";
$body_message .= 'Message: '.$field_message;
$headers = 'From: '.$field_email."\r\n";
$headers .= 'Reply-To: '.$field_email."\r\n";
$mail_status = mail($mail_to, $subject, $body_message, $headers);
if ($mail_status) { ?>
<script language="javascript" type="text/javascript">
window.location = 'http://www.mossymob.net';
</script>
<?php
}
else { ?>
<script language="javascript" type="text/javascript">
alert('メッセージ送信に失敗しました。こちらのメールアドレスへお問い合わせください。test@gmail.com(※自分のメールアドレス)');
window.location = 'index.html(※送信失敗後に移動するページ)';
</script>
<?php
}
?>
*************************************
Security対策はしときませんと
*************************************
https://teratail.com/questions/71592
サニタイズ
https://gray-code.com/php/make-the-form-vol5/
*************************************
これも本格的な企業の問い合わせ
*************************************
https://it-tantou.com/3406/
0 件のコメント:
コメントを投稿