У меня возникли проблемы с работой AWS SES в соответствии с приведенным ниже описанием; Я хочу отправить электронное письмо пользователям с моего сайта. Похоже, учетные данные не проверяются, однако я использовал правильные учетные данные, сгенерированные из IAM (я также пробовал корневые ключи сервера, и он выдал ту же ошибку). У меня закончились идеи о том, как разрешить / отладить что-нибудь еще, так что любое управление будет с благодарностью.
Ошибка при выполнении:
Ошибка при получении учетных данных с сервера метаданных профиля экземпляра. (Ошибка клиента: 404)
Предпринятые шаги
Я настроил SES и проверил адреса электронной почты и т. Д.
Я создал профиль IAM с «Полный доступ к SES»
Я установил AWS SDK для php, используя файл phar
Я написал код php ниже, предоставляя правильный код доступа безопасности непосредственно из SES
require 'aws/aws.phar'; use Aws\Ses\SesClient; //More code here $client = SesClient::factory(array( 'key' => 'xxxxxxxxxxxxx', 'secret' => 'xxxxxxxxxxx', 'region' => 'us-west-2', 'version' => '2010-12-01' )); //code to build the $msg here as array try{ $result = $client->sendEmail($msg); //save the MessageId which can be used to track the request $msg_id = $result->get('MessageId'); echo("MessageId: $msg_id"); //view sample output print_r($result); } catch (Exception $e) { echo($e->getMessage()); } //view the original message passed to the SDK print_r($msg);
Заранее спасибо за помощь — это всегда отличное сообщество !! Пожалуйста, дайте мне знать, если я могу предоставить что-нибудь еще
Джон
Вы можете предоставить учетные данные для вашего SDK, используя несколько методов. Смотрите документацию: Предоставление учетных данных для SDK
1) Установите переменные среды: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION со значениями из профиля IAM, который вы создали.
2) Вместо 1) вы также можете создать файл ~ / .aws / credentials. Здесь вы можете добавить строки:
[дефолт]
aws_access_key_id = YOUR_AWS_ACCESS_KEY_ID
aws_secret_access_key = YOUR_AWS_SECRET_ACCESS_KEY
aws_default_region = регион
1) или 2) определенно будет работать, и это прямо вперед.
3) Вы также можете создать профиль экземпляра. Вам необходимо создать роль IAM и профиль экземпляра. Вашему экземпляру должен быть присвоен профиль экземпляра, когда он создается. См. Стр. 183 (как указано в нижней части страницы. Название темы «Использование роли IAM для предоставления разрешений приложениям»).
Запуск на инстансах Amazon EC2 «) данного руководства: Руководство пользователя AWS IAM понять шаги и процедуру. Здесь секретный ключ и ключ доступа выбираются автоматически, и вам не нужно ничего делать. Вам просто нужно установить регион по умолчанию, используя шаг 1) (то есть, экспортировать AWS_DEFAULT_REGION = someregion).
4) Вы уже попробовали 4-й способ и, возможно, в ваших настройках есть проблема, о которой я не знаю.
Других решений пока нет …