通过EC2发送邮件

我已经使用下面的代码发送邮件使用PHP使用亚马逊ec2,但我只看到'aatest'的结果,并没有得到任何传入的电子邮件。 顺便说一句,我已经包括了ses.php,并validation了电子邮件[email protected],并双重确认accesskey和accesskey是正确的。 任何人都可以提出debugging方法吗?

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'; 

使用以下几行禁用SSL证书检查:

 $con->enableVerifyHost(false); $con->enableVerifyPeer(false); 

SSL证书validation失败的原因是因为用cURL加载的默认CA(证书颁发机构)无法识别SES的证书。 我相信你必须通过https://portal.aws.amazon.com/gp/aws/securityCredentials并点击“X.509证书”和“创build一个新证书”来为AWS生成自己的证书。 您将可以下载证书。 但是,除非您对PHP有所了解,否则您将无法将该证书文件包含在该PHP类中。 所以你最好只是禁用validation。