【发布时间】: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