在 Laravel 中使用 Sendmail 发送电子邮件的正确配置是啥?
Posted
技术标签:
【中文标题】在 Laravel 中使用 Sendmail 发送电子邮件的正确配置是啥?【英文标题】:What's the correct configuration to send emails using Sendmail in Laravel?在 Laravel 中使用 Sendmail 发送电子邮件的正确配置是什么? 【发布时间】:2020-09-25 14:13:37 【问题描述】:我正在使用 Laravel 7,我想通过 Laravel Mail 门面使用 Sendemail 驱动程序发送电子邮件。当我使用 php 邮件功能时它可以工作,但我想使用 Laravel Mail 门面。
我的 .env 文件电子邮件配置:
MAIL_DRIVER=sendmail
MAIL_SENDMAIL='/usr/sbin/sendmail -t -i'
我在 config/mail.php 中的默认邮件设置:
'default' => env('MAIL_MAILER', 'sendmail'),
'mailers' => [
'smtp' => [
'transport' => 'smtp',
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
'port' => env('MAIL_PORT', 587),
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
],
'ses' => [
'transport' => 'ses',
],
'sendmail' => [
'transport' => 'sendmail',
'path' => '/usr/sbin/sendmail -bs',
],
'log' => [
'transport' => 'log',
'channel' => env('MAIL_LOG_CHANNEL'),
],
'array' => [
'transport' => 'array',
],
],
我已经按照文档中的说明创建了 Mail 类。什么是使它工作的正确配置?
【问题讨论】:
也许你应该从config/mail.php
sendmail
部分发帖。因为这就是你要找的司机。
我已经从 config/mail.php 添加了邮件部分
在 laravel 7 中,环境变量更改为 MAIL_MAILER。您应该使用该键指定驱动程序
【参考方案1】:
首先,将默认MAIL_MAILER
更改为使用Sendmail。
MAIL_MAILER=sendmail
然后在 config/mail.php 中,更新 Sendmail 行。
'sendmail' => [
'transport' => 'sendmail',
'path' => env('MAIL_SENDMAIL', '/usr/sbin/sendmail -bs')
],
最后,如果您需要更改 MAIL_SENDMAIL
值,请将此行添加到您的 .env 中。
MAIL_SENDMAIL='/usr/sbin/sendmail -t -i'
【讨论】:
以上是关于在 Laravel 中使用 Sendmail 发送电子邮件的正确配置是啥?的主要内容,如果未能解决你的问题,请参考以下文章
Laravel5.5 邮件驱动使用 SMTP 驱动实现邮件发送
如何使用 perl 和 sendmail 从 URL 发送 pdf [Mail::Sendmail]