PHPで日本語メール送信スクリプト

PHPで日本語メールを送信するスクリプトの一番簡単な例。

機能としては

  • メール件名(日本語可)
  • 差出人アドレス
  • 送信先アドレス
  • メール本文(日本語可)

をそれぞれ指定可能です。

文字コードはEUC-JPで保存してください。

submit.php

<html>
<head>
<title>メール送信PHP</title>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
</head>
<body>
<h1>メール送信</h1>
<form action="submit.php" method="POST">
件名:<input type="text" name="subject" size="50" value="テスト" /><br />
差出元アドレス:<input type="text" name="from" size="40" value="from@example.com" /><br />
送信先アドレス:<input type="text" name="to" size="40" value="to@example.com" /><br />
<textarea name="mailbody">
本文です。
本文2。
</textarea><br />
<input type="submit" value="送信" />
<input type="hidden" name="mode" value="send" />
</form>
<?php
if (!$_POST{"submit"}) {
//POSTデータを全て受け取りエスケープして変数に入れる
foreach($_POST as $k => $v) {
if(get_magic_quotes_gpc()) {
$v=stripslashes($v);
}
$v=htmlspecialchars($v);
$array[$k]=$v;
}
extract($array);
// メールヘッダー
$headers = "MIME-Version: 1.0\n" ;
$headers .= "From: $from\n";
$headers .= "Reply-To: $from\n";
$headers .= "Content-Type: text/plain;charset=ISO-2022-JP";
// メールボディーの文字コードを変換
$mailbody = mb_convert_encoding($mailbody, "ISO-2022-JP","AUTO");
// 件名にはASCIIコードのみを含むように変換
mb_language("ja");
$subject = mb_convert_encoding($subject, "ISO-2022-JP","AUTO");
$subject = mb_encode_mimeheader($subject);
// メール送信
mail($to, $subject, $mailbody, $headers);
}
?>
</body>
</html>

途中、PHPプログラムを作る人のメモ帳さんの フォームのデータを受け取りエスケープして変数に入れるを使っています。

カテゴリー: PHP   パーマリンク

コメントをどうぞ

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>