【问题标题】:I am getting this error while implementing Mail in Laravel 5.5---->Missing argument 1 for Illuminate\Support\Manager::createDriver()在 Laravel 5.5 中实现 Mail 时出现此错误---->Missing argument 1 for Illuminate\Support\Manager::createDriver()
【发布时间】:2018-05-14 18:05:15
【问题描述】:

错误 - Illuminate\Support\Manager::createDriver() 缺少参数 1

我的环境文件-

MAIL_DRIVER=smtp
MAIL_HOST=smtp.****.com
MAIL_PORT=587
MAIL_USERNAME=info@*****.com
MAIL_PASSWORD=******
MAIL_ENCRYPTION=tls

config文件夹的mail.php中的所有键都是正确的。

我的控制器功能是这样的

function send(Request $request)
    {
        $this->validate($request,[
            'name'=>'required',
            'email'=>'required|email',
            'subject'=>'required',
            'message'=>'min:10'
        ]);

        $data=array(
            'name'=>$request->name,
            'email'=>$request->email,
            'subject'=>$request->subject,
            'bodyMessage'=>$request->message
        );
        Mail::send('mail.admin',$data,function($message) use ($data)
        {
            $message->from($data['email']);
            $message->to($data['info@****.com']);
            $message->subject($data['subject']);
        });
    }

我在这里犯了什么错误?

这是我的 mail.php 文件

<?php
return [ 
    'driver' => env('MAIL_DRIVER', 'smtp'),  
    'host' => env('MAIL_HOST', 'smtp.****.com'),
    'port' => env('MAIL_PORT', 587),
    'from' => [
        'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
        'name' => env('MAIL_FROM_NAME', 'Example'),
    ],   
    'encryption' => env('MAIL_ENCRYPTION', 'tls'),  
    'username' => env('MAIL_USERNAME'),
    'password' => env('MAIL_PASSWORD'), 
    'sendmail' => '/usr/sbin/sendmail -bs', 'markdown' => [
        'theme' => 'default',
        'paths' => [
            resource_path('views/vendor/mail'),
        ],
    ],
];

【问题讨论】:

  • 你在config/mail.php 中有一个driver 键吗?
  • 是的,我有 ... 'driver' => env('MAIL_DRIVER', 'smtp'),
  • 请出示‍mail.php文件
  • 我在我的问题中更新了mail.php,请检查一下。
  • 我用自己的代码替换了所有设置和代码,并且电子邮件已正确发送。我建议删除composer.lock文件并删除vendor目录并再次运行composer install..可能没有安装完整的包。

标签: php laravel laravel-mail


【解决方案1】:

我用自己的代码替换了所有设置和代码,并且电子邮件已正确发送。我建议删除composer.lock 文件并删除vendor 目录并再次运行composer install。可能没有安装完整的包。

【讨论】:

    猜你喜欢
    • 2017-09-10
    • 2016-02-11
    • 2018-01-07
    • 2018-05-27
    • 2018-06-26
    • 2020-12-04
    • 2017-11-03
    • 1970-01-01
    • 2020-04-01
    相关资源
    最近更新 更多