ホームページ > バックエンド開発 > PHPチュートリアル > phpでPDFを添付したメールを送信すると、長い文字列が表示されます。

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

WBOY
リリース: 2016-06-23 14:22:45
オリジナル
1249 人が閲覧しました

php email pdf

RT、送信された電子メールの添付ファイルは PDF ファイルではなく、長い文字列です。

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

function mail($mailto, $userid, $data ) {
グローバル $dsql,$cfg_adminemail,$cfg_webname,$cfg_basehost,$cfg_memberurl;
$mailtitle = $cfg_webname.":notification"
$file=fopen("D:/xampp/htdocs/pdftemp/dsfasdf "; ,"r");
$fileName=$data['oid'].'.pdf';
$boundary = "nextpart_".uniqid("");シンボル 1
$ Boundary2 _".Uniqid (""); // シンボル 2

$ headers = "from:" $ Cfg_ADMINEMAIL ; /Mixed; $ Boundary1 "RN"; ftemp/ dsfasdf.pdf"));
//base64 メソッドを使用してエンコードします
$read = Base64_encode($read)
// この長い文字列を切り出します1 行あたり 76 文字で構成される小さな部分
$read = chunk_split($read);

//以下はメール本文のテキストです
$mailbody = "--$boundary1----$boundary2
Content-type: text/ plain;charset=iso-8859-1;
Content-transfer-encoding: 8bit";
$mailbody .= 'To: '.$userid.',



This is mailbody--$boundary2--';
/以下は添付ファイル部分です
$mailbody .="--$boundary1
Content-type: text/html; name=$fileName
Content-disposition: inline; filename= $fileName
コンテンツ転送エンコーディング: 8 ビット
$read
--$boundary1--";


$status = smail($mailto,$mailtitle,$mailbody,$headers);
setMail($mailto, $ mailtitle, $mailbody, $headers, $status);
return $status; }


ディスカッションへの返信 (解決策)


添付ファイルの種類が指定されていない可能性があります。

// attachment$body .= "--".$separator.$eol;$body .= "Content-Type: application/octet-stream; name=\"".$filename."\"".$eol; $body .= "Content-Transfer-Encoding: base64".$eol;$body .= "Content-Disposition: attachment".$eol.$eol;$body .= $attachment.$eol;$body .= "--".$separator."--";
ログイン後にコピー


推奨

$email = new PHPMailer();$email->From      = 'you@example.com';$email->FromName  = 'Your Name';$email->Subject   = 'Message Subject';$email->Body      = $bodytext;$email->AddAddress( 'destinationaddress@example.com' );$file_to_attach = 'PATH_OF_YOUR_FILE_HERE';$email->AddAttachment( $file_to_attach , 'NameOfFile.pdf' );return $email->Send();
ログイン後にコピー

境界設定が正しくないため、解析エラーが発生する可能性があります。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート