通过AWS PHP SDK将配置集添加到SES

时间:2018-09-17 19:41:48

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

我有一个用于发送电子邮件的AWS PHP SDK的简单有效的实现。我现在正在寻找将配置集添加到电子邮件中,以便我们可以跟踪来自AWS账户的电子邮件事件。

作为参考,这是有关如何完成此操作的AWS官方文档:https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-using-sdk-php.html

以下是我的实现:

try {
        $this->getClient()->sendEmail([
            'Destination' => [
                'ToAddresses' => [$to]
            ],
            'Message' => [
                'Body' => [
                    'Html' => [
                        'Charset' => 'UTF-8',
                        'Data' => $body
                    ],
                    'Text' => [
                        'Charset' => 'UTF-8',
                        'Data' => ''
                    ]
                ],
                'Subject' => [
                    'Charset' => 'UTF-8',
                    'Data' => $subject
                ]
            ],
            'Source' => $from,
            'ConfigurationSetName' => 'Kinesis',
            /*'Tags' => [
                [
                    'Name' => '',
                    'Value' => ''
                ]
            ]*/
        ]);

    } catch(Ses\Exception\SesException $e){
        ...
    } catch(AwsException $e){
        ...
    }

此块位于另一种方法内,并且完美地用于发送电子邮件。通过这一过程,我们每天发送近7000封电子邮件,没有任何问题。根据上面提供的文档,我将“ ConfigurationSetName”字段添加到了具有我的配置集名称的选项数组中。

这应该做什么? 目的是捕获从SES引发的电子邮件事件,并将其推送到S3进行审查。我们假设此过程大部分都在进行,因为如果我们从AWS控制台手动触发具有相同配置集名称的测试电子邮件,则会看到日志已按预期推送到S3。

但是,通过此阻止发送的任何电子邮件都不会被记录 ,坦率地说,我们不知道为什么。

我已经做了以下事情:

  • 检查错别字
  • 尝试重建配置集并使用新的配置集
  • 将已安装的PHP SDK版本更新为与上述文档中列出的完全相同的版本

如果任何人都有通过SDK进行操作的经验,我将不胜感激。

谢谢!

0 个答案:

没有答案