J'utilise Laravel 5.3, EC2 et SES pour envoyer des emails.Amazon SES 403 Interdit SignatureDoesNotMatch utilisant Laravel 5.3
config/mail.php
'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
'port' => env('MAIL_PORT', 587),
.env a
MAIL_DRIVER=ses
MAIL_HOST=email-smtp.us-west-2.amazonaws.com
MAIL_PORT=25
MAIL_ENCRYPTION=TLS
SES_KEY='AKIA------DZQ5TYQ'
SES_SECRET=AhN8d----------------ZbBq7TNBmhNnosfYbasg6Q
SES_REGION='us-west-2'
composer.json
"require": {
"aws/aws-sdk-php": "~3.0",
}
EC2 est hébergé à Mumbai et SES en nous-ouest. J'ai essayé ce qui suit:
1) Créer un nouvel utilisateur IAM et en utilisant la nouvelle clé/secret.
2) Création de la clé/secret de l'utilisateur root.
3) Exécution de la commande NTPDATE.
4) php artisan cache: clair, config: clair, affichage: clair, dump-autoload
5) J'ai aussi utilisé sparkpost en .env et cela donne l'erreur 403: interdite aussi.
Je vois encore l'erreur suivante:
[2017-05-26 06:02:00] local.ERROR: exception 'Aws\Ses\Exception\SesException' with message 'Error executing "SendRawEmail" on "https://email.us-west-2.amazonaws.com"; AWS HTTP error: Client error: `POST https://email.us-west-2.amazonaws.com` resulted in a `403 Forbidden` response:
<ErrorResponse xmlns="http://ses.amazonaws.com/doc/2010-12-01/">
<Error>
<Type>Sender</Type>
<Code>SignatureDo (truncated...)
SignatureDoesNotMatch (client): The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.
erreur complète ici: https://pastebin.com/KSJinB1E
Cela peut être utile. http://docs.aws.amazon.com/ses/latest/DeveloperGuide/smtp-credentials.html >> Votre nom d'utilisateur SMTP et votre mot de passe ne sont pas les mêmes que votre ID de clé d'accès AWS et votre clé d'accès secrète. N'essayez pas d'utiliser vos informations d'identification AWS pour vous authentifier par rapport au point de terminaison SMTP. Je veux juste m'assurer que vous avez essayé cela. – nightgaunt
Oui. C'est fait. J'utilise les informations d'identification IAM. Veuillez vérifier SES_KEY et SES_SECRET. C'est les informations d'identification de l'utilisateur IAM. –
Vous avez mentionné que vous avez exécuté ntpdate, mais pas la sortie? Êtes-vous sûr de ne pas avoir de décalage d'horloge? Quelle est la sortie de ntpstat? – Robo