#php #laravel #amazon-web-services #amazon-ses
#php #laravel #amazon-веб-сервисы #amazon-ses
Вопрос:
Электронное письмо от Amazon AWS гласит:
Начиная с 1 октября 2020 года Amazon SES будет поддерживать запросы, подписанные только с использованием Signature версии 4.
Вы можете легко идентифицировать запросы API, использующие Signature версии 3, просмотрев заголовки запросов. Запросы, использующие подпись версии 3, похожи на следующий пример: X-Amzn-Авторизация: AWS3-HTTPS AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE,Алгоритм=HMACSHA256, подпись=lBP67vCvGl …
У меня установлен «aws / aws-sdk-php» через composer.
Я пытаюсь выяснить, является ли заголовок запроса SES подписью версии 3 или 4.
Я попытался сбросить содержимое IlluminateMailEventsMessageSent
через $event->message->getHeader()
, которое является Swift_Mime_SimpleHeaderSet
объектом.
Тем не менее, он не включает версию запроса в SES sdk.
ВОПРОС:
Не мог бы кто-нибудь, пожалуйста, сказать мне, как сбросить исходящий запрос aws ses sdk, чтобы я мог видеть в заголовке, какая версия используется. Спасибо.
Ответ №1:
Если кому-то интересно, наконец-то удалось сделать это путем обратной трассировки стека.
После отправки почты с помощью команды я отследил стек и смог увидеть необработанный запрос, который включал Authorization: AWS4-HMAC-SHA25
подтверждение подписи версии 4.
Mail::to($receiver)->send($mailable);
dump(debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 50));
Убедитесь, что для параметра ses service debug установлено значение true:
config/services.php
'ses' => [
'key' => env('SES_KEY'),
'secret' => env('SES_SECRET'),
'region' => 'us-west-1',
'debug' => true,
],
Комментарии:
1. Я должен проверить то же самое, но на ruby on rails вы знаете, как проверить в ruby @MPS
2. @sunil Я не знаком с Ruby, извините. Если вы не можете найти ответ здесь, на StackExchange, возможно, попробуйте запросить на сервере Ruby Discord, я слышал, что он активен.