gpt4 book ai didi

php - 生成 HTML 正文和 PDF 附件时的电子邮件问题

转载 作者:行者123 更新时间:2023-12-04 18:48:15 26 4
gpt4 key购买 nike

我希望那里有人可以帮助我解决这个我一直在战斗太久的问题。
我有一个运行 Ubuntu 16.04 和 PimCore 4.6 的企业对消费者 (B2C) 销售门户,一切正常。附有销售收据的电子邮件被发送出去,没有任何问题。然而,公司安全审计发现 Ubuntu 版本已用完其安全更新,因此需要更新。
因此,我将操作系统从 16.04 更新到 18.04,在将 PHP 设置为 7.0.33 版本时遇到了一些麻烦,一切都在 B2C 门户中运行,至少我是这么认为的。当我尝试测试交易时,我发现电子邮件功能不再起作用。长话短说,确切的问题是,当我附加生成的销售 PDF 时,email->send() 函数不再起作用,并且网站发出了 HTTP 代码 503。
PDF 功能仍然有效,因为我修改了代码以将 PDF 存储为文件,并将其作为字符串返回,以作为附件附加在电子邮件中。

$pdf->Output('/var/www/html/Receipt_'.$varArray['order']['referenceNo'].'.pdf', 'F');          
return $pdf->Output('/var/www/html/Receipt_'.$varArray['order']['referenceNo'].'.pdf', 'S');
电子邮件功能,我已经简化:
// Construct the mail object and send the mail.
$mail = new \Pimcore\Mail('UTF-8');

$mail->setSender($this->email);
$mail->setFrom($this->email);
$mail->addTo($this->metadata["email address"]);

$mail->setSubject($this->view->translate("order confirmation", $this->zendLocale)." : ".$this->metadata["order number"]);

// Generate the HTML body of the email.
$mail->setDocument($this->emailPath.'neworder');
$mail->setParams($params);

// Build the PDF.
// If I comment out this line, the email gets sent.
$mailContent = $this->generateSalesReceipt($params, $orders);

$mail->send();
$mailContent 行获取生成的 PDF 并将其保存为字符串,在这种情况下,它不会对它做任何其他事情,但这足以防止邮件被发送。
但是,如果我注释掉生成电子邮件 HTML 正文的两行,我可以愉快地将 PDF 附加到电子邮件中。这似乎是 HTML 正文的生成和 PDF 附件的生成之间的冲突。
我添加了以下几行,以便查看 PHP 的任何问题,说明为什么它在我身上失败了,
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
但是没有人解释为什么代码不起作用。我已经检查了我能找到的所有日志文件,这可能会说明这一点,但是 Syslog、apache2 日志和 PHP 日志之类的文件并没有泄露任何信息。
正如我所说,这只发生在从 OS16.04 到 OS18.04 和 PHP 7.0.28 到 PHP 7.0.33 的更改中。正如您可以想象的那样,这非常令人沮丧,如此接近让服务器启动并运行 100%,或者在我执行操作系统升级和撤消所有工作之前可能不得不恢复到快照。
任何有助于解决问题的帮助,都会有一杯咖啡或一瓶啤酒等着幸运的人。

最佳答案

我可以绕过这种看似不可能的情况的唯一方法是创建一个电子邮件对象,将 PDF 生成到一个变量,销毁然后创建一个新的电子邮件对象,使用在第一封电子邮件中生成的 HTML 来填充第二个电子邮件对象。

关于php - 生成 HTML 正文和 PDF 附件时的电子邮件问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71009615/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com