Prestashop 从 html2pdf 发送邮件附件 pdf

Posted

技术标签:

【中文标题】Prestashop 从 html2pdf 发送邮件附件 pdf【英文标题】:Prestashop send mail attachment pdf from html2pdf 【发布时间】:2018-06-20 13:19:03 【问题描述】:

一切都在标题中,但更准确地说:

我在一个函数中覆盖了 Cart.php,我想发送一封带有生成为附件的 pdf 的邮件。

    $file_attachement['content'] = $voucher->output("useless.pdf", 'E');
    $file_attachement['name'] = 'Voucher.pdf';
    $file_attachement['mime'] = 'application/pdf';

    Mail::Send(
        (int)Context::getContext()->language->id,
        'voucherSend',
        "blabla.",
        array(),
        $customer->email,
        $customer->firstname.' '.$customer->lastname,
        $file_attachement,
        null, _PS_MAIL_DIR_
    );

(其中$voucher是通过html2pdf生成的)

邮件已发送,但遗憾的是没有附件。但是,如果我将输出选项从 E 更改为 I,应该将 pdf 直接发送到用户浏览器,它就像一个魅力......

我真的不明白我哪里错了,如果……

【问题讨论】:

你确定$file_attachment应该是第七个参数吗? 你是对的...不要不知道为什么我把它放在第 7 位,应该在第 9 位...我改变它,我回来了 【参考方案1】:

尝试使用 Tools::file_get_contents('useless.pdf') 代替 $voucher->output,并检查您是否将这些数据发送到正确的位置

【讨论】:

其实肯定不行,useless.pdf不存在,如果输出的第二个参数是E第一个参数被忽略。该文件从未创建,我只要求output 以mime 类型的字符串呈现pdf .. 好的,那么。你能具体一点吗? $voucher 对象是什么?您是在覆盖中创建自己的方法还是覆盖现有的方法? 对不起,忘记准确了。发布编辑;)

以上是关于Prestashop 从 html2pdf 发送邮件附件 pdf的主要内容,如果未能解决你的问题,请参考以下文章

将 html2pdf 生成的 pdf 发送回服务器

Prestashop - 在Google Analytics中发送订单活动

使用 Python 向 API Prestashop 发送 POST 请求

从 Prestashop 模块发出 ajax 请求

从 prestashop 1.6.1.9 升级到 1.7

iText7高级教程之html2pdf——1.从Hello HTML开始