send_mail / phpのメール送信
last update:
2014/02/16
1) index.html
<!doctype html>
<title>Sample: Send mail</title>
<meta charset="UTF-8">
<style>
label{display:block;}
</style>
<h1>1) Input</h1>
<form method="post" action="check.php">
<label>from(name): <input type="text" name="from"></label>
<label>to(email): <input type="email" name="to"></label>
<label>subject: <input type="text" name="subject"></label>
<label>content: <textarea name="content"></textarea></label>
<input type="submit" value="check">
</form>
2) check.php
<!doctype html>
<title>Sample: Send mail</title>
<meta charset="UTF-8">
<style>
.warn{color:#f00;}
</style>
<h1>2) Check</h1>
<?php
$from = htmlspecialchars($_POST['from']);
$to = htmlspecialchars($_POST['to']);
$subject = htmlspecialchars($_POST['subject']);
$content = htmlspecialchars($_POST['content']);
$from = html_entity_decode($from, ENT_QUOTES, "UTF-8");
$to = html_entity_decode($to, ENT_QUOTES, "UTF-8");
$subject = html_entity_decode($subject, ENT_QUOTES, "UTF-8");
$content = html_entity_decode($content, ENT_QUOTES, "UTF-8");
if($from == ''){ print '<p class="warn">warning : no from(name)</p>'."\n"; } else { print '<p>from(name) : '.$from.'</p>'."\n"; }
if($to == ''){ print '<p class="warn">warning : no to(email)</p>'."\n"; } else { print '<p>to(email) : '.$to.'</p>'."\n"; }
if($subject == ''){ print '<p class="warn">warning : no subject</p>'."\n"; } else { print '<p>subject : '.$subject.'</p>'."\n"; }
if($content == ''){ print '<p class="warn">warning : no content</p>'."\n"; } else { print '<p>content : '.$content.'</p>'."\n"; }
if($from == '' || $to == '' || $subject == '' || $content == ''){
print '<input type="button" onclick="history.back();" value="back">'."\n";
} else {
print '<form method="post" action="send.php">'."\n";
print ' <input type="hidden" name="from" value="'.$from.'">'."\n";
print ' <input type="hidden" name="to" value="'.$to.'">'."\n";
print ' <input type="hidden" name="subject" value="'.$subject.'">'."\n";
print ' <input type="hidden" name="content" value="'.$content.'">'."\n";
print ' <input type="button" onclick="history.back();" value="back">'."\n";
print ' <input type="submit" value="send mail to '.$to.'">'."\n";
print '</form>';
}
?>
3) send.php
<!doctype html>
<title>Sample: Send mail</title>
<meta charset="UTF-8">
<h1>3) Send</h1>
<?php
$from = $_POST['from'];
$to = $_POST['to'];
$subject = $_POST['subject'];
$content = $_POST['content'];
// sampleでは特定のアドレス制限あり
mb_language("Ja");
mb_internal_encoding("UTF-8");
$from = "From:".mb_encode_mimeheader($from)."<test@test>\n";
mb_send_mail($to, $subject, $content, $from);
print '<p>Done.</p>';
?>