【发布时间】:2017-07-21 05:39:12
【问题描述】:
谁能告诉我我在这方面哪里出错了?我正在从数据库中的 blob 向电子邮件添加附件。我假设这个标题的格式不正确,但是已经花了一整天的时间,仍然无法让它工作!
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
$headers2 = array(
'From: ' . $fromName . ' < ' . $fromEmail . ' > ',
'BCC: will.evans.1972@gmail.com',
'MIME-Version: 1.0',
'Content-Type: multipart/mixed;',
'boundary='.$mime_boundary,
);
// multipart boundary
$body = '--'.$mime_boundary.'\n' ;
$body .= 'Content-Type: text/html; charset=\"iso-8859-1\"\n';
$body .= $message ;
$body .= '--'.$mime_boundary.'\n';
// preparing attachments
global $wpdb;
$data = $wpdb->get_var("SELECT documentblob FROM quote");
$data = chunk_split(base64_encode($data));
$fname1='quotation.pdf';
$body .= 'Content-Type: {"application/octet-stream"};\n';
$body .= 'name="'.$fname1.'"\n'.
$body .= 'Content-Disposition: attachment;\n';
$body .= 'filename="'.$fname1.'"\n';
$body .= 'Content-Transfer-Encoding: base64\n\n';
$body .= $data . '\n\n';
$body .= '--'.$mime_boundary.'\n';
wp_mail($to, $subject, $body, $headers2);
【问题讨论】:
-
手动滚动您的电子邮件可能是一个巨大的错误。至少尝试使用像 PHPMailer 这样的库。
-
这里支持 PHPMailer 的使用,并建议您不要手动轰炸自己的标题。
-
在这种情况下这是不可能的,我仅限于使用 wp_mail(Wordpress 邮件程序)并且无法将 blob 添加为附件。它可以做附件....但我在平台上没有权限在附加之前将 blob 转换为文件。