Laravel 9 使用Amazon SES 发送邮件

1 . 安装 aws-sdk-php

要使用 Amazon SES 驱动,你必须先安装 PHP 的 Amazon AWS SDK 。你可以可以通过 Composer 软件包管理器安装此库:

composer require aws/aws-sdk-php

安装完整流程如下:

$ composer require aws/aws-sdk-php
Info from https://repo.packagist.org: #StandWithUkraine
./composer.json has been updated
Running composer update aws/aws-sdk-php
Loading composer repositories with package information
Info from https://repo.packagist.org: #StandWithUkraine
Updating dependencies
Lock file operations: 0 installs, 1 update, 0 removals
  - Upgrading aws/aws-sdk-php (3.280.2 => 3.281.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs, 1 update, 0 removals
  - Downloading aws/aws-sdk-php (3.281.0)
  - Upgrading aws/aws-sdk-php (3.280.2 => 3.281.0): Extracting archive
Package fruitcake/laravel-cors is abandoned, you should avoid using it. No replacement was suggested.
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi

   INFO  Discovering packages.  

  fruitcake/laravel-cors ...................................................................................................................... DONE
  laravel/sail ................................................................................................................................ DONE
  laravel/sanctum ............................................................................................................................. DONE
  laravel/tinker .............................................................................................................................. DONE
  nesbot/carbon ............................................................................................................................... DONE
  nunomaduro/collision ........................................................................................................................ DONE
  nunomaduro/termwind ......................................................................................................................... DONE
  spatie/laravel-ignition ..................................................................................................................... DONE

85 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> @php artisan vendor:publish --tag=laravel-assets --ansi --force

   INFO  No publishable resources for tag [laravel-assets].  

No security vulnerability advisories found
$

2. Laravel 邮件设置

1. 将config/mail.php 配置文件的 default 选项设置成 `ses`

    'default' => env('MAIL_MAILER', 'ses'),

2. 修改config/services.php 配置文件

'ses' => [
    'key' => env('AWS_ACCESS_KEY_ID'),
    'secret' => env('AWS_SECRET_ACCESS_KEY'),
    'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
],