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();
ログイン後にコピー
境界設定が正しくないため、解析エラーが発生する可能性があります。