编程语言
首页 > 编程语言> > php – 无法使用Amazon SES发送电子邮件

php – 无法使用Amazon SES发送电子邮件

作者:互联网

我正在使用AWS PHP SDK.我有以下代码使用SES发送电子邮件:

$ses = new AmazonSES(...);
$response =  $ses->send_email('ubuntu@localhost', 
            array('ToAddresses' => 'myemail@somedomain.com'), 
            array( 
                'Subject.Data' => 'My Test message',
                'Body.Text.Data' => 'my message'
            )
        );

很简单吧?但是我从AWS SDK本身收到以下错误:

Undefined index: body

sdk.class.php(828)

// Normalize JSON input
828         if ($query['body'] === '[]')
829         {
830             $query['body'] = '';
831         }

我的AWS访问和密钥是正确的,因为我可以使用S3.我在这里错过了什么?

编辑:
我在@ gmail.com上验证了一个不同的电子邮件地址,并将其用作发件人地址.我还是遇到了报道的原始bug.我使用我提到的第三方库没有问题.

解决方法:

更新:此错误现已修补!请下载最新版本.

这似乎是亚马逊SDK中确认的错误.见下面的链接……

https://forums.aws.amazon.com/thread.jspa?messageID=231411

据我所知,目前还没有补丁.我想你可以使用isset()自己修补它.这就是我所做的,现在似乎有效.同样,这是第828行的sdk.class.php中的一个错误.我现在不想制作补丁文件.这是我对代码所做的,不过……

// Normalize JSON input
if (!isset($query['body']) || $query['body'] === '[]')
{
    $query['body'] = '';
}

同样,不是官方补丁,但它可以让你继续开心.

标签:php,amazon-web-services,amazon-ses
来源: https://codeday.me/bug/20190721/1496412.html