I am using PHP 8.1.21 and Laravel 10.14.1 in a pretty simple setup. I've implemented AWS SES for outgoing email before with no trouble but in this case I get the following error:
Aws\Common\Client\AbstractClient::__construct(): Argument #1 ($credentials) must be of type Aws\Common\Credentials\CredentialsInterface, array given, called in /home/site/DOMAIN.COM/vendor/laravel/framework/src/Illuminate/Mail/MailManager.php on line 252
I have AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY and AWS_DEFAULT_REGION set in the .env and obviously the SDK installed. I am sending the email using a Laravel Notification that works flawlessly in the local server with Mailpit.
Any advice much appreciated.
Update: So it looks like this is because I have the aws-sdk-php 2.8 version. When I try and update it to 3.* though I get this error:
- aws/aws-sdk-php[3.0.1, ..., 3.3.4] require guzzlehttp/psr7 ~1.0 -> found guzzlehttp/psr7[1.0.0, ..., 1.9.1]
but the package is fixed to 2.5.0 (lock file version) by a partial update and that version does not match.
Make sure you list it as an argument for the update command.
So far I can't get a set of dependencies that resolve.
MAIL_MAILER=ses) or something custom?