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 驱动程序,你必须首先安装适用于 PHP 的 Amazon AWS SDK。 你可以通过 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();