ホームページ  >  記事  >  バックエンド開発  >  phpでpdfを添付してメールを送信すると長い文字列が表示されます解決方法を教えてください。

phpでpdfを添付してメールを送信すると長い文字列が表示されます解決方法を教えてください。

WBOY
WBOYオリジナル
2016-06-13 12:37:091816ブラウズ

php で PDF を添付したメールを送信すると、長い文字列が表示されます。
RT 送信されたメールの添付ファイルは、 という長い文字列です。

メールを送信するためのコードは次のとおりです:

関数 mail($mailto, $userid, $data){
グローバル $dsql,$cfg_adminemail,$cfg_webname,$cfg_basehost,$cfg_memberurl;
$mailtitle = $cfg_webname.":通知";
$file=fopen("D:/xampp/htdocs/pdftemp/dsfasdf.pdf","r"); $fileName=$data['oid'].'.pdf';
$mimeType ="アプリケーション/pdf"
$boundary = "nextpart_".uniqid("") //区切り文字 1
$boundary2 = "nextpart2_".uniqid("") //区切り文字 2
;
//メールヘッダー
$headers = "送信者: ".$cfg_adminemail."rn返信先: $cfg_adminemail";
$headers .= "コンテンツ タイプ: マルチパート/混合; 境界="$boundary1"rn";

// ファイルを読み取ります
$read = fread($file, filesize("D:/xampp/htdocs/pdftemp/dsfasdf.pdf")); //base64 メソッドを使用してエンコードします
$read = Base64_encode($read); //この長い文字列を 1 行あたり 76 文字からなる小さな部分に切ります
$read = chunk_split($read);

// 以下はメール本文のテキストです
$mailbody = "--$boundary1----$boundary2
コンテンツタイプ: text/plain;charset=iso-8859-1;
コンテンツ転送エンコーディング: 8 ビット";
$mailbody .= '宛先: '.$userid.',df250b2156c434f3390392d09b1c9563
df250b2156c434f3390392d09b1c9563
これはメール本文--$boundary2--';
です                                                  //以下は添付部分です
$mailbody .="--$boundary1
コンテンツタイプ: text/html; name=$fileName
コンテンツの配置: インライン; ファイル名=$ファイル名
コンテンツ転送エンコーディング: 8bit
$read
--$boundary1--";


$status = smail($mailto,$mailtitle,$mailbody,$headers);
setMail($mailto, $mailtitle, $mailbody, $headers, $status);
$status を返します;
}


php

メール
pdf 共有先:
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。