2007-11-21

 

CAPCHAとPHP/GDで認証付Webからメール 試作

CAPCHAとPHP/GDで認証付Webからメール 試作
日本語の処理が課題(2007-11-20バージョン)

<?php
session_start();
?>
Enter text shown below:<br />
Sorry now English only<br />
<form action="index.php" method="post">
<table>
<tr><td>From: </td><td><input type="text" name="mfromadrs" value="@">
&nbsp; &nbsp; (Name)<input type="text" name="mfromname" value=""></td></tr>
<tr><td>Subject: </td><td><input type="text" name="msubject" value=""></td></tr>
<tr><td valign="top">Body: </td><td>
<textarea name="mbody" rows="10" cols="50" ></textarea></td></tr>
<!--tr><td>attach</td><td><input type="text" name="mattach" value=""></td></tr-->
<tr><td valign="top">keystring</td><td valign="top"><input type="text" name="keystring" value="" size="21"></td></tr>
<tr><td valign="top"></td><td valign="top"><img align="top" src="kcapindex.php?<?php echo session_name()?>=<?php echo session_id()?>"></td></tr>
<!--tr><td>status</td><td><input type="text" name="mstatus" value=""></td></tr-->
<tr><td><input type="submit" value="Send"></td><td></td></tr>
</table>

</form>

<?php
if(count($_POST)>0){
if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] == $_POST['keystring'] && $_POST['mfromadrs'] && $_POST['msubject'] && $_POST['mbody'] ) {
echo "OK";
msendmail($_POST['mfromadrs'],$_POST['mfromname'],$_POST['msubject'],$_POST['mbody'],$_POST['mattach'],$_POST['mstatus']);
}else{
echo "error, check fill From: Subject: and Body: or keystring";
}
}
unset($_SESSION['captcha_keystring']);

function msendmail($mfromadrs,$mfromname,$msubject,$mbody,$mattach,$mstatus)
{
//load library
require_once("Mail.php");
require_once("Mail/mime.php");

//language setting (Japanese)
mb_language("japanese");
mb_internal_encoding("EUC-JP");

//send attatchment mail
$to = "a@adgj.net"; //to
$subject = $msubject; //subject
$body = $mbody; //body
$from = $mfromadrs;
$fromname = $mfromname; //from name
$attachfile = "./test.doc"; //attachment path

$mail = Mail::factory("mail");

$body = mb_convert_encoding($body,"JIS","Shift_JIS");

$mime = new Mail_Mime("\n");
$mime->setTxtBody($body);

//add atatchment
//$mime->addAttachment($attachfile,"application/octet-stream");

$body_encode = array(
"head_charset" => "ISO-2022-JP",
"text_charset" => "ISO-2022-JP"
);

$body = $mime->get($body_encode);

$headers = array(
"To" => $to,
"From" => mb_encode_mimeheader(mb_convert_encoding($fromname,"JIS","Shift_JIS"))."<".$from.">",
"Subject" => mb_encode_mimeheader(mb_convert_encoding($subject,"JIS","Shift_JIS"))
);

$header = $mime->headers($headers);

$return = $mail->send($to,$header,$body);

print "<br />\nmail sent<br />\n";

}


?>


コメント: コメントを投稿





<< ホーム

This page is powered by Blogger. Isn't yours?

登録 投稿 [Atom]