![在 EC2 中通过 php 发送邮件](https://linux22.com/image/595971/%E5%9C%A8%20EC2%20%E4%B8%AD%E9%80%9A%E8%BF%87%20php%20%E5%8F%91%E9%80%81%E9%82%AE%E4%BB%B6.png)
我使用以下代码通过 php 使用 amazon ec2 发送邮件,但我只看到“aatest”作为结果,并且没有收到任何传入电子邮件。顺便说一句,我已经包含了 ses.php,并验证了电子邮件[电子邮件保护],并再次确认 accesskey 和 accesskey 是正确的。有人能建议一下调试方法吗?
require_once('ses.php');
$con=new SimpleEmailService('accesskey','accesskey');
print_r('aa'.$con->listVerifiedEmailAddresses());
$m = new SimpleEmailServiceMessage();
$m->addTo('[email protected]');
$m->setFrom('[email protected]');
$m->setSubject('Hello, world!');
$m->setMessageFromString('This is the message body.');
print_r($con->sendEmail($m));
echo 'test';
答案1
使用以下行禁用 SSL 证书检查:
$con->enableVerifyHost(false);
$con->enableVerifyPeer(false);
SSL 证书验证失败的原因是,加载 cURL 的默认 CA(证书颁发机构)无法识别 SES 的证书。我认为您必须通过以下方式为 AWS 生成自己的证书:https://portal.aws.amazon.com/gp/aws/securityCredentials并单击“X.509 证书”和“创建新证书”。然后,您将能够下载证书。但是,除非您精通 PHP,否则您将无法将证书文件包含在该 PHP 类中。因此,您最好禁用验证。