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

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

WBOY
WBOYオリジナル
2016-06-23 14:22:451227ブラウズ

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.',df250b2156c434f3390392d09b1c9563
df250b2156c434f3390392d09b1c9563
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();

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

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