【发布时间】:2020-10-19 17:51:42
【问题描述】:
我正在尝试使用 Laravel Mail 发送电子邮件,遵循文档中的所有内容,下面是我的 mail.php
'default' => env('MAIL_MAILER', 'smtp'),
'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'),
'timeout' => null,
],
'ses' => [
'transport' => 'ses',
],
'mailgun' => [
'transport' => 'mailgun',
],
'postmark' => [
'transport' => 'postmark',
],
'sendmail' => [
'transport' => 'sendmail',
'path' => '/usr/sbin/sendmail -bs',
],
'log' => [
'transport' => 'log',
'channel' => env('MAIL_LOG_CHANNEL'),
],
'array' => [
'transport' => 'array',
],
],
并尝试通过将 .env 邮件部分设置为 NULL 来使用 php 邮件
MAIL_DRIVER=smtp
MAIL_HOST=localhost
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=myemail@domain.com
MAIL_FROM_NAME="${APP_NAME}"
并尝试发送
Mail::to('drako@domain.com')
->bcc( app('config')->get('mail')['bcc'])
->send(new Get_a_quote($data));
if(count(Mail::failures()) > 0){
return false;
}else{
return true;
}
但我的尝试返回错误
无法解析 [Illuminate\Mail\TransportManager] 的 NULL 驱动程序。
非常感谢任何帮助和想法。
【问题讨论】:
-
在您的环境中,这些字段是必需的
MAIL_USERNAME、MAIL_PASSWORD、MAIL_ENCRYPTION -
@STA 你好,我打算改用内置的 php 邮件,请参阅 stackoverflow.com/questions/43525560/… 在我的其他 laravel 项目上尝试过,它可以工作。
-
将
MAIL_DRIVER=smtp更改为MAIL_DRIVER=mailgun并重试 -
@STA 我不明白,我根本没有使用 mailgun。
-
你试过
sendmail吗?
标签: php laravel laravel-6 laravel-mail