# 邮件
简介
Laravel 基于 SwiftMailer 函数库提供了一套简洁的邮件 API ,Laravel 为 SMTP,Mailgun,SparkPost, Amazon SES,PHP 的 mail
函数及 sendmail
提供驱动,让你可以快速从本地或云端服务自由地发送邮件。
驱动前提
基于 API 的驱动,例如 Mailgun 和 SparkPost 通常比 SMTP 服务器更简单快速。如果可能,你应该尽可能使用这些驱动。所有的 API 驱动都需要 Guzzle HTTP 函数库,你可以使用 Composer 包管理器安装它:
composer require guzzlehttp/guzzle
Mailgun 驱动
要使用 Mailgun 驱动,首先必须安装 Guzzle,之后将 config/mail.php
配置文件中的 driver
选项设置为 mailgun
。接下来,确认 config/services.php
配置文件包含以下选项:
'mailgun' => [
'domain' => 'your-mailgun-domain',
'secret' => 'your-mailgun-key',
],
SparkPost 驱动
要使用 SparkPost 驱动,首先必须安装 Guzzle,之后将 config/mail.php
配置文件中的 driver
选项设置为 sparkpost
。接下来,确认 config/services.php
配置文件包含以下选项:
'sparkpost' => [
'secret' => 'your-sparkpost-key',
],
SES 驱动
要使用 Amazon SES 驱动,必须安装 PHP 的 Amazon AWS SDK。你可以在 composer.json
文件的 require
段落加入下面这一行并运行 composer update
命令:
"aws/aws-sdk-php": "~3.0"
接下来,将 config/mail.php
配置文件中的 driver
设置为 ses
。然后确认 config/services.php
配置文件包含下列选项:
'ses' => [
'key' => 'your-ses-key',
'secret' => 'your-ses-secret',
'region' => 'ses-region', // e.g. us-east-1
],
生成 mailables
在 Laravel 中,每种类型的邮件都代表一个「mailables」对象。这些对象存储在 app/Mail
目录中。如果在你的应用中没有看见这个目录,别担心,在首次使用 make:mail
命令创建 mailables 类时这个目录会被创建,例如:
php artisan make:mail OrderShipped