
【デコード】に関する知恵袋
【質問】
レンタルサーバーといえば、度々失礼しますPHP4でメール送受信について教えてください!PHP4でメールにPDFを添付した際、デコードの知恵袋に関連する説明をすると、受信すると添付したPDFが正しくデコードされずに届いてしまいます。レンタルサーバーについて言えることは、受信時のメーラーはoutlookとヤフーのwebメールです。(ちなみにgifファイルで試してみてもダメでした)メール本文はSmartyのテンプレートに、書いてあります。以下、コードです。$boundary = md5(uniqid(rand()));$send_pdf = file_get_contents("calendar_ico01_close.gif");$send_pdf64_000 = chunk_split(base64_encode($send_pdf));$MAIL_HEADER = "";MAIL_HEADER .= "From: ".$MAIL_FROM."\¥n";$MAIL_HEADER .= "Content-Type: multipart/mixed;Type=\"multipart/alternative\";\¥n\tboundary=\"" . $boundary . '"' . "\¥n";$MAIL_SUBJECT .= "サブジェクト";$MAIL_SUBJECT = mb_convert_encoding($MAIL_SUBJECT, "JIS", "utf-8" );$MAIL_SUBJECT= "=?ISO-2022-JP?B?".base64_encode($MAIL_SUBJECT)."?= ";$smarty->assign("param",$form); //フォームから受け取ったパラメータの配列$smarty->assign("boundary",$boundary);$smarty->assign("pdf_data",$send_pdf64_000);$mail_body = $smarty->fetch("mail_tpl.mail");$mail_body = mb_convert_encoding($mail_body, "JIS", "utf-8" ); //文字化け回避//メール送信処理mb_language("ja");mail($MAIL_TO, $MAIL_SUBJECT, $mail_body, $MAIL_HEADER);header("Location:/hoge/thanks.html");exit(0);以下、デコードの知恵袋というと、smartyテンプレートです--{$boundary} Content-Type: text/plain; charset=ISO-2022-JPContent-Transfer-Encoding: 7bit#############################################本文#############################################お名前:{$param.name}様ご住所:{$param.post_num}{$param.address}社名:{$param.company}部署名:{$param.department}お電話番号:{$param.tell}メールアドレス:{$param.mail}--{$boundary}Content-Type: application/pdf; name=hoge.pdfContent-Transfer-Encoding: base64;Content-Disposition: attachment; filename=hoge.pdf{$pdf_data}--{$boundary}--
【解答】
mail()ではなくmb_send_mail()を使ってみては?