【问题标题】:Cronjob send email but image cannot be displayedCronjob 发送电子邮件但无法显示图像
【发布时间】:2018-09-01 18:09:46
【问题描述】:

我用 phpmailer 创建了一个test2.php。当我在浏览器中运行 PHP 时,我可以收到一封带有嵌入图像的电子邮件。

$mail->IsHTML(true);
$mail->AddEmbeddedImage("dedicated.png", "logoimg", "dedicated.png");
$mail->Body = "<h1>Test 1 of PHPMailer html</h1>
    <p>This is a test picture: <img src=\"cid:logoimg\" /></p>";
$mail->AltBody="This is text only alternative body.";

但是当我设置一个cronjob时,我仍然收到一封电子邮件,但图像无法显示。

* * * * *  root php /var/www/html/work/test.php

【问题讨论】:

  • 检查addEmbeddedImage()的返回值——如果找到文件成功返回true。

标签: php cron phpmailer


【解决方案1】:

这似乎是一个路径问题 - 默认情况下,cron 作业不会设置 PATH 环境变量,因此您必须在 cron 作业中设置路径,或者对所有内容使用绝对路径。

例如,如果你说:

php myscript.php

它可能找不到 php 二进制文件或您的脚本或附件,因此您可以尝试以下操作:

PATH=/usr/bin
php myscript.php

/usr/bin/php /path/to/myscript.php

【讨论】:

  • 是的,我已经设置了路径,但图像仍然无法正常显示
猜你喜欢
  • 1970-01-01
  • 2020-05-03
  • 1970-01-01
  • 1970-01-01
  • 2012-01-06
  • 2020-04-19
  • 2013-02-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多