我目前正在开发一个网络应用程序,要求用户在能够使用其帐户之前进行验证。 我使用Cartalyst的Sentry来注册用户,并使用内置的Mail函数发送电子邮件,但每当我注册时,我都会收到以下错误:
Argument 1 passed to Illuminate\Mail\Mailer::__construct() must be an instance of
Illuminate\View\Environment, instance of Illuminate\View\Factory given,
called in
/var/www/vendor/laravel/framework/src/Illuminate/Mail/MailServiceProvider.php
on line 34 and defined
我无法弄清楚是什么原因造成的。 在我的代码的顶部,我包括"使用Mail"否则我会得到另一个错误:
Class '\Services\Account\Mail' not found
代码
// Create the user
$user = $this->sentry->register(array(
'email' => e($input['email']),
'password' => e($input['password'])
));
$activationCode = $user->getActivationCode();
$data = array(
'activation_code' => $activationCode,
'email' => e($input['email']),
'company_name' => e($input['partnerable_name'])
);
// Email the activation code to the user
Mail::send('emails.auth.activate', $data, function($message) use ($input)
{
$message->to(e($input['email']), e($input['partnerable_name']))
->subject('Activate your account');
});
任何人都知道这个错误的解决方案是什么?
提前致谢,
基博
答案 0 :(得分:1)
删除/bootstrap/compiled.php我认为它对你有用。
答案 1 :(得分:0)
您需要从Mail :: send调用中删除它。该函数应该是第三个参数,所以我不确定你在这里要做什么 - $ input ['email']字段已经在函数中可用,因为你的“use($ input)”< / p>
$email = e($input['email']