Я установил пакет laravel для проверки пользователей
https://github.com/jrean/laravel-user-verification
Контроллер регистрации необходимо изменить, чтобы он работал, как показано ниже.
public function register(Request $request)
{
$this->validator($request->all())->validate();
$user = $this->create($request->all());
$this->guard()->login($user);
UserVerification::generate($user);
UserVerification::send($user, 'Verification Mail from example.com');
return redirect()->intended('/home');
}
Использовал mailgun для отправки писем. Он отлично работал на локальном apache. успешно отправил письма на Gmail и другие.
Установлен на продакшене nginx (ubuntu 16.04 VPS). Это вызывает следующую ошибку.
FatalThrowableError in SimpleMessage.php line 33:
Type error: Argument 1 passed to Swift_Mime_SimpleMessage::__construct() must
be an instance of Swift_Mime_HeaderSet, none given, called in /var/www/example.com/
html/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Message.php on line 48
Чтобы проверить, является ли это проблемой пакета, я также сделал следующее, которое работает с локальным apache, но вызывает ту же ошибку на nginx.
Route::get('/mailsend', function() {
$data = [
'title' => 'hello user',
'content' => 'Thanks for joining us'
];
Mail::send('mails.test', $data , function($message) {
$message->to('[email protected]','example')->subject('Testing from example');
});
});
Код, показанный в error /Swift/Message.php в строке 48, выглядит следующим образом
call_user_func_array(
array($this, 'Swift_Mime_SimpleMessage::__construct'),
Swift_DependencyContainer::getInstance()
->createDependenciesFor('mime.message')
);
Не удалось разобраться в проблеме с nginx. Любая помощь будет принята с благодарностью.