October CMS 提供用于 SMTP、Mailgun、SparkPost、Amazon SES 和 sendmail 的驱动程序,让您能够通过您选择的本地或基于云的服务快速开始发送邮件。
有两种方式可以配置邮件服务,一种是使用管理面板,通过 设置 → 邮件设置 或更新默认配置值。在这些示例中,我们将更新基于文件的配置值。
管理员面板中的邮件设置屏幕将覆盖基于文件的配置所提供的设置。点击 重置为默认值 按钮将邮件设置更新为最新。如果您在此表单上不点击 保存,那么这些设置将继续从配置文件中获取。
:::
大多数情况下,你可以使用 SMTP 驱动,并且大多数邮件提供商都会支持它。然而,使用基于 API 的驱动通常是一种更简单、更快捷的方法。
要使用 Mailgun 驱动器,通过 Composer 安装 Symfony 的 Mailgun Mailer 传输。
composer require symfony/mailgun-mailer symfony/http-client接下来,在你的 config/mail.php 配置文件中将 driver 选项设置为 mailgun。接下来,验证你的 config/services.php 配置文件包含以下选项:
'mailgun' => [
'domain' => 'your-mailgun-domain',
'secret' => 'your-mailgun-key',
'endpoint' => 'api.mailgun.net', // api.eu.mailgun.net for EU
],要使用 Postmark 驱动程序,通过 Composer 安装 Symfony 的 Postmark Mailer 传输。
composer require symfony/postmark-mailer symfony/http-client接下来,在应用程序的 config/mail.php 配置文件中将 default 选项设置为 postmark。配置完应用程序的默认邮件程序后,验证您的 config/services.php 配置文件包含以下内容。
'postmark' => [
'token' => env('POSTMARK_TOKEN'),
],要使用 Amazon SES 驱动程序,您必须首先安装 Amazon AWS SDK for PHP。 您可以通过 Composer 包管理器安装此库。
composer require aws/aws-sdk-php接下来,将你的 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
],当开发一个发送电子邮件的应用程序时,你可能不想实际将电子邮件发送到真实的电子邮件地址。有几种方法可以“禁用”电子邮件消息的实际发送。
一种解决方案是在本地开发期间使用 log 邮件驱动程序。此驱动程序会将所有电子邮件消息写入您的日志文件以供检查。有关根据环境配置应用程序的更多信息,请查阅配置文档。
另一种解决方案是设置框架发送的所有电子邮件的通用收件人。这样,您的应用程序生成的所有电子邮件都将发送到特定地址,而不是发送消息时实际指定的地址。这可以通过 config/mail.php 配置文件中的 to 选项来完成:
'to' => [
'address' => 'dev@example.tld',
'name' => 'Dev Example'
],你可以使用 Mail::pretend 方法动态地禁用邮件发送。当邮件发送器处于模拟模式时,邮件将被写入你的应用程序日志文件,而不是发送给收件人。
Mail::pretend();