私はTCPDFライブラリを使用してその場でPDF(請求書)を生成し、電子メールで送信しています。それはすべて動作しますが、私は奇妙な問題があります。私はGmailのアカウントに電子メールを送信する際には問題ありませんが、私は私のメールサーバーに送信するとpdfで電子メールを受信しますが、開かないとメッセージが表示されます。 file.pdfはサポートされていない形式か、ファイルが破損しているためです。 (電子メールのpdfは空白です)。TCPDFを使用してオンザフライでPDFを生成
私はそうのような文字列にPDFを保存します。
$attachment = $pdf->Output("mypdf.pdf","E");
$attachment = chunk_split($attachment);
などのような電子メールを介してそれを送信します。
$header .= "--".$separator.$eol;
$header .= "Content-Type: application/pdf; name='mypdf.pdf'".$eol;
$header .= "Content-Transfer-Encoding: base64".$eol;
$header .= "Content-Disposition= attachment".$eol.$eol;
$header .= $attachment;
iはPHPのメール機能と電子メールを送信しています。
私はそうのように、PDFファイルのダウンロードを強制あれば面白いものがある:
$添付ファイル= $ PDF->出力( "mypdf.pdf"、 "D");
ファイルは問題なく開きます。しかし、私はそれを "E"に戻すとうまくいかない。
もう1つの奇妙なことは、問題なく、pdf(私はメールサーバーに乗っている)を開くことができるということですが、次回は仕事ができなくても(まったく同じメールを送信しても)
何が起こっているか考えている人はいますか?私は、ローカルサーバー上でPDFを保存しないようにしたいと思います。
あなたは '$ attachement'をエンコードしましたか? – DerVO
$ pdf->出力( "mypdf.pdf"、 "E"); base64でエンコードされた文字列を返します。私は自分自身でエンコードしようとしましたが、うまくいきませんでした。 – blejzz