"从"在PHP中使用AWS-SES电子邮件API在标头中丢失

时间:2017-07-21 14:50:39

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

我尝试使用Amazon SES使用AWS-SDK和var columns = document.getElementsByTagName('tr:first-child td'); 发送邮件(带或不带附件)。 但它始终会因错误而反弹,而且#34;来自"标题中缺少。

代码如下:

sendRawEmail()

如果我不提供"来源","目的地"在$header .= "From: abc@abc.com \r\n "; $header .= "To: def@def.com \r\n "; $header .= "Reply-To: abc@abc.com \r\n "; $header .= "Subject: Testing Attachments \r\n "; $header .= "MIME-Version: 1.0 \r\n "; $header .= "Content-Type: text/plain; charset=utf-8 \r\n "; $header .= "Content-Transfer-Encoding: 7bit \r\n \r\n "; $header .= "This is normal content \r\n "; $result = $client->sendRawEmail( array('RawMessage' => array('Data' => base64_encode($header)), 'Source' => 'abc@abc.com', 'Destinations' => array('def@def.com'), 'SourceArn' => 'arn:aws:ses:eu-west-1:1234:identity/abc@abc.com', 'FromArn' => 'arn:aws:ses:eu-west-1:1234:identity/abc@abc.com') ); 然后它会出错"来自"标题丢失,如果给出这些参数,邮件会以相同的错误退回。

提前感谢您帮助我找到相同的解决方案。

1 个答案:

答案 0 :(得分:2)

使用其他语言SDK时遇到了同样的问题。

base64_encode($header)

不要编码。删除base64_encode