這可能是一個簡單的問題,但我已經搜索並搜索並找不到答案。記錄亞馬遜SES消息ID
我想記錄發送的每封電子郵件的消息ID,以便我可以更準確地執行反彈處理。
我正在使用AWS PHP SDK發送我的電子郵件。我發送電子郵件後如何獲取消息ID?
這可能是一個簡單的問題,但我已經搜索並搜索並找不到答案。記錄亞馬遜SES消息ID
我想記錄發送的每封電子郵件的消息ID,以便我可以更準確地執行反彈處理。
我正在使用AWS PHP SDK發送我的電子郵件。我發送電子郵件後如何獲取消息ID?
找到了答案......
我能夠檢索響應對象,我得到在與SES發送電子郵件郵件ID。
$response->body->SendEmailResult->MessageId
亞馬遜SES變化的MessageID,請參閱第一條評論
AWS在發送時更改消息標識。 以下頭可以/將被修改: 郵件ID 日期 返回路徑 跳動到 目前亞馬遜SES將郵件ID,以便能夠像反彈相關的反饋發送的電子郵件和投訴。使用Message-Id標頭可確保Amazon SES能夠識別原始發送請求,從而確保Amazon SES能夠將您標識爲原始發件人並將反彈轉發給您。 我想我可以添加我自己的Message-Id,AWS會轉發這個消息,但是AWS已經完成了這個消息,這看起來很浪費。 –
@MattClements設置自己的自定義標題,如:MyHeaderId:
@MattClements我有一個大規模電子郵件發送項目,並將在下週使用亞馬遜。如果U找到解決方案,請更新Ur post – Sergey
你可以從亞馬遜的響應到一個變量,然後解析XML;
$res = $this->amazon_ses->send();
$xml = new SimpleXMLElement($res);
$email_id = (string) $xml->SendEmailResult[0]->MessageId;
這個工作很適合我
更新答案: sendEmail返回Guzzle\Service\Resource\Model。
你可以用得到的MessageId值$response->get('MessageId')
更多信息:http://docs.aws.amazon.com/aws-sdk-php/guide/latest/feature-models.html
這是現在最好的答案,特別是SDK第3版 – acidjazz
我認爲這是不可能的,但你可以手動設置消息的ID和存儲之前發送 – Sergey
找到了答案...... 我能夠從SES發送電子郵件時獲得的響應對象中檢索MessageID。
$response->body->SendEmailResult->MessageId
–如果您認爲自己的答案在這裏是最好的答案,請檢查它。 –