2013-05-16 3 views
0

Я искал ответ в течение двух дней и до сих пор ничего. Я следил за несколькими учебниками, в которых требуется не более нескольких настроек конфигурации, но мое приложение Laravel 4 по-прежнему не хочет отправлять электронное письмо. Он всегда бросает одно и то же Исключение, и никто, кажется, не имеет ответа. Кажется, я пробовал все, кроме рабочего.Laravel 4 Email не работает

Route::get('/sendemail', function() { 
    $data['user'] = 'Test User'; 
    Mail::send('email.test', $data, function($m) { 
      $m->to('[email protected]')->subject('Email test'); 
    }); 
}); 

Но когда я нахожусь в определенном маршруте, он всегда выдает ту же ошибку:

Argument 1 passed to Swift_Transport_EsmtpTransport::__construct() must implement interface Swift_Transport_IoBuffer, none given

Конфигурационный это нормально, и даже изменяя драйвер с «SMTP» к «почте» в config/mail.php бросает также Исключение.

Argument 1 passed to Swift_Transport_MailTransport::__construct() must be an instance of Swift_Transport_MailInvoker, none given

Я застрял здесь, и я не знаю, что делать. Мой композитор обновлен, а версия PHP - 5.4.4.

Любые советы будут высоко оценены.

спасибо.

ответ

0

Возможно, вы уже нашли ответ. Но я думаю, вам нужен второй аргумент для до.

Try:

$data = array('user' => $user); 
Mail::send('email.test', $data, function($message) use ($user) 
{ 
    $message->to($user->email, $user->name)->subject('Email Test'); 
});