php - 将base64字符串转换为邮件附件pdf

标签 php email pdf base64 attachment

我有这段代码将 PDF 编码文件作为从另一个窗口生成的 Base64 URI 字符串,并声明为 php session 变量,最后这是我正在编码的函数,它发送电子邮件但是Base64 解码为大量字符,而不是正确完成的附件。

function MailWithAttachment($to, $subject, $message, $senderMail, $senderName, $files){

$from = $senderName." <".$senderMail.">"; 
$headers = "From: $from";$headers = "MIME-Version: 1.0$newline".
       "Content-Type: application/pdf;".
       "boundary = \"$boundary\"$newline$newline".
       "--$boundary$newline".
       "Content-Type: application/pdf; charset=ISO-8859-1$newline; Content-Disposition: attachment;".
       "Content-Transfer-Encoding: base64$newline$newline"; 
echo "<script>alert('$files')</script>";
$headers .= rtrim(chunk_split($files));
$returnpath = "-f" . $senderMail;
//send email
$mail = @mail($to, $subject, $message, $headers, $returnpath); 
if($mail){ return TRUE; } else { return FALSE; }
}

最佳答案

最后,我之前解码了我的 base64 pdf 文件并将解码后的字符串保存到一个变量中,并将该变量设置在附件属性中。

顺便说一句,我用过 PHP Mailer

<?php
$_SESSION["sesDataPDF"] = $_POST["hdn_UriPdf"];
$b64file = $_SESSION["sesDataPDF"];
$decodPdf;
if ($b64file){
    $nomPdf = ;
    $nomPdf .= ".pdf";
    $nomPdf = (string)$nomPdf;
    $b64file= trim(str_replace('data:application/pdf;base64,', "", $b64file) );
    $b64file= str_replace( ' ', '+', $b64file);
    $decodPdf= base64_decode($b64file);
    file_put_contents($nomPdf, $decodPdf);
    $mail = new PHPMailer;
    $mail->isSendmail();
    $mail->setFrom('', '');
    $mail->addAddress($mail, $name);
    //Set the subject line
    $mail->Subject = '';
    $mail->Body = '';
    $mail->AltBody = '';
    $mail->addAttachment($nomPdf);
    $mail->Timeout=60;
}
?>

关于php - 将base64字符串转换为邮件附件pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39978192/

相关文章:

ruby - 在 Ruby 中发送带附件的电子邮件

Python:msg.get_payload() 丢弃所需的数据,需要解决方案

laravel - 在 Laravel 中使用 Sendmail 发送电子邮件的正确配置是什么?

html - 为什么在 iOS 中显示为 PDF 时,具有居中文本的底部表格单元格会被截断?

php - 当我尝试动态插入时,mysql的插入命令不起作用

php - 加载 jQuery 字符集

javascript - 从 jQuery 中读取只有一个对象的 JSON 数组的值

xml - XML填写PDF表格?

ios - 如何在 iPhone 中以编程方式创建多页 pdf

php - 如何使用 MySQL 在 Yii2 迁移中实现 AUTO_INCREMENT?