- - PR -
SendMailの質問!!!お願いします
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 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