Laravel Mail :: Send работает на локальном apache, но жалуется на mime на nginx

Я установил пакет 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. Любая помощь будет принята с благодарностью.


person avinash    schedule 15.04.2017    source источник


Ответы (1)


Попробуйте раскомментировать строку: extension = php_openssl.dll на php.ini

и проверьте этот https://laravel.io/forum/05-13-2014-smtp-mail-not-working-in-live-server

person Mikołaj Osowski    schedule 15.04.2017
comment
Мой сервер - это сервер Ubuntu. dll не имеет здесь никакой силы. Я предполагаю, что это больше связано с передачей nginx заголовков $ в SimpleMessage.php. - person avinash; 15.04.2017
comment
извините за ошибку, но вы должны быть заинтересованы в этом php_openssl. Посетите askubuntu.com/questions/323005/ < / а> - person Mikołaj Osowski; 15.04.2017