在 laravel 中发送邮件时缺少 Illuminate\Support\Manager::createDriver() 的参数 1

Posted

技术标签:

【中文标题】在 laravel 中发送邮件时缺少 Illuminate\\Support\\Manager::createDriver() 的参数 1【英文标题】:Missing argument 1 for Illuminate\Support\Manager::createDriver() while sending mail in laravel在 laravel 中发送邮件时缺少 Illuminate\Support\Manager::createDriver() 的参数 1 【发布时间】:2016-02-11 03:12:33 【问题描述】:

我的 .env 文件是:

MAIL_DRIVER=mail
MAIL_HOST=smtp.mandrillapp.com
MAIL_PORT=587
MAIL_USERNAME=sabin.maharjan456@gmail.com
MAIL_PASSWORD=****************************

Mailer.php

  <?php namespace App\Http\Controllers;

class Mailer
    public function sendTo($email, $subject, $view, $data = array())
    
        \Mail::queue($view, $data, function($message) use($email, $subject)
        
            $message->to($email)->subject($subject);
        );
        return "Mail has been sent";

    

    public function welcome($formData)
    
        $subject = "User Message was arrived !";
        $data['name'] = $formData['name'];
        $data['email'] = $formData['email'];
        $data['mobile'] = $formData['mobile'];
        $data['subject'] = $formData['subject'];
        $data['bodymessage'] = $formData['message'];
        $view = 'emails.welcome';
        return $this->sendTo(['sabin.maharjan456@gmail.com'],$subject,$view,$data);
    

控制器:

 public function postContactFormRequest(CreateContactFormRequest $request,Mailer $mailer)


    $formData = $request->all();

    $this->mailer->welcome($formData);

  

查看文件:

  <!DOCTYPE html>
<html lang="en-US">
<head>
    <meta charset="utf-8">
</head>
<body>
<h2>User Message</h2>
<p><b>Email Address:</b>  $email </p>
<h4>User Name :  $name </h4>
<p> Phone Number : $mobile</p>
<p>Message : $bodymessage  </p>
</body>
</html>

这是我的文件: 我在尝试发送电子邮件时收到一个持续错误。

缺少 Illuminate\Support\Manager::createDriver() 的参数 1,在第 89 行的 /home/robustit/public_html/nic-website/vendor/laravel/framework/src/Illuminate/Support/Manager.php 中调用定义

【问题讨论】:

从问题中删除您的 Mandrill 密码,并且现在您已将其发布在这里可能会更改它!不要在以后的问题中发布实际密码:) 要解决这个问题,请在您的 env 文件中尝试MAIL_DRIVER=smtp 【参考方案1】:

直到现在我都遇到了这个问题。

你想要的是检查你的 .env 文件并确保你的数据库参数是正确的,但你也想要这些:

CACHE_DRIVER=file SESSION_DRIVER=file QUEUE_DRIVER=sync

出于某种原因,我让这些有空字段。然后它对我有用!

【讨论】:

不确定它与加载驱动程序失败有关。

以上是关于在 laravel 中发送邮件时缺少 Illuminate\Support\Manager::createDriver() 的参数 1的主要内容,如果未能解决你的问题,请参考以下文章

当我在 laravel 中发送邮件时发送 Html 标签

Laravel 邮件在添加密件抄送时会发送两次电子邮件

Laravel 5.4 - 单击电子邮件中的验证链接时未传递或发送电子邮件验证令牌令牌。

在 Laravel 中使用 Sendmail 发送电子邮件的正确配置是啥?

发送电子邮件时 Laravel htmlspecialchars() 错误

使用 Gmail API 发送的邮件中缺少附件,但仅适用于收件人