【问题标题】:Amazon SES send mail via CRONJOB getting errorAmazon SES 通过 CRONJOB 发送邮件收到错误
【发布时间】:2013-07-08 15:30:10
【问题描述】:

我正在尝试使用 CronJob 通过 Amazon SES 向我网站的用户发送简报/警报。

我正在使用以下php脚本通过SES完成交付

[http://sourceforge.net/projects/php-ses/?source=navbar][1]

include("ses.php");
$ses = new SimpleEmailService('id', 'key');
$m = new SimpleEmailServiceMessage();
$body="Test"
$m->addTo($mailId);
$m->setFrom('from@mail.com');
$m->addReplyTo('from@mail.com');
$m->setSubject('Reminder from Site.com');
$m->setSubjectCharset('ISO-8859-1');
$m->setMessageCharset('ISO-8859-1');
$m->setMessageFromString('text body',$body);
$ses->sendEmail($m);

但是当我通过浏览器访问这个文件 (mailsend.php) 时,我收到的电子邮件非常好。但是当使用由 CronJob 触发的这个函数时,我得到了以下错误:

[2013 年 7 月 8 日 11:10:11 America/New_York] PHP 警告:
SimpleEmailService::sendEmail(): 77 错误设置证书验证位置:
CAfile:/etc/pki/tls/certs/ca-bundle.crt
CApath:无
在 /home/site/public_html/files/login/ses.php 第 356 行

关于问题可能出在哪里的想法?

【问题讨论】:

  • cron 作为命令行 PHP 运行,它具有不同的 .ini 文件和通常不同的设置。比较php -i(命令行)`和phpinfo()(浏览器)的输出并找出哪些设置不同。
  • 但我只有 cPanel 访问服务器。我们可以检查 cPanel 访问权限吗?
  • 正如 Marc B 所指出的,cron 作业(包括使用的 PHP 版本)的整体 环境 可能与在 Web 服务器上运行并通过浏览器。在 cron/命令行下运行时似乎存在某种身份验证(“CA”)问题。您可能需要与您的房东讨论这个问题。

标签: php email amazon-web-services cron amazon-ses


【解决方案1】:

添加代码

$ses->enableVerifyPeer(false);

之后

$ses = new SimpleEmailService('id', 'key');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-18
    • 2013-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多