- PR -

SendMailの質問!!!お願いします

1
投稿者投稿内容
迷い初
会議室デビュー日: 2005/06/25
投稿数: 13
投稿日時: 2005-10-19 16:25
一応自分で書いたSendMailですが
TO:のところどうしても 「名前 <メールアドレス>」 で表示できなくて
文字化けしてしまいます、どう直せばいいですか?

ご教授して頂けると幸いですが、よろしくお願いします


//SendMail
function sendMail($Email, $Subject, $Message, $Header,$from) {

$Subject = mb_convert_encoding($Subject, "JIS", "SJIS");
$Subject = base64_encode($Subject);
$Subject = "=?iso-2022-jp?B?".$Subject."?=";

$Mess = str_replace("\r\n", "\n", $Message);
$Mess = str_replace("\r", "\n", $Mess);
if(get_magic_quotes_gpc()) $Mess = stripslashes($Mess);
$Mess = mb_convert_encoding($Mess, "JIS", "SJIS");

$GmtOffset = date("Z");
$GmtOffset_ABS = abs( date("Z") );
$GmtOffset_Hour = floor( $GmtOffset_ABS/3600 );
$GmtOffset_Min = floor( ( $GmtOffset_ABS-$GmtOffset_Hour*3600 )/60 );
if( $GmtOffset >= 0 ) {
$GmtOffset_Sign = "+";
} else {
$GmtOffset_Sign = "-";
}
$GmtOffset_RFC = sprintf( $GmtOffset_Sign."%02d%02d", $GmtOffset_Hour,
$GmtOffset_Min );
$GmtOffset_RFC = date( "D, d M Y H:i:s ").$GmtOffset_RFC;
$Header = "";
if($email){
if(preg_match("/(.*?)<([^>]+)>/si",$email,$tmp)){
$Header .= "To:
"."=?iso-2022-jp?B?".base64_encode(mb_convert_encoding($tmp[1],"JIS",
"SJIS"))."?="."<$tmp[2]>\r\n";
}else{
$Header .= "To: ".$email."\r\n";
}
}
if($from){
if(preg_match("/(.*?)<([^>]+)>/si",$from,$tmp)){
$Header .= "From:
"."=?iso-2022-jp?B?".base64_encode(mb_convert_encoding($tmp[1],"JIS",
"SJIS"))."?="."<$tmp[2]>\r\n";
}else{
$Header .= "From: ".$from."\r\n";
}
}
$Header .= "Date: ".$GmtOffset_RFC."\n";
$Header .= "X-Mailer: Form-Mail With PHP Engine\n";
$Header .= "Mime-Version: 1.0\n";
$Header .= "Content-Type: text/plain; charset=iso-2022-jp\n";
$Header .= "Content-Transfer-Encoding: 7bit\n";

if (mail($Email, $Subject, $Mess, $Header)) {
return true;
} else {
return false;
}
}
1

スキルアップ/キャリアアップ(JOB@IT)