Laravel SMTP - fwrite (): SSL: операция успешно завершена - PullRequest
0 голосов
/ 18 февраля 2019

Использование laravel 5.7 с библиотекой SwiftMailer (SMTP для office365)


Я провел большую часть исследований и не сталкивался с подобной проблемой.Есть ошибки, которые я видел и которые были в некоторой степени похожи на эту, но все они имели для меня смысл, в отличие от этой.

Я понятия не имею, как это исправить, и мне бы понравилась секундная стрелка.


Возврат ошибки:

fwrite (): SSL: операция успешно завершена.


config / mail.php имеет всю конфигурацию, как и должно быть:

'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'smtp.office365.com'),
'port' => env('MAIL_PORT', 587),                               //office 365 need to use 587
'encryption' => env('MAIL_ENCRYPTION', 'tls'),                 //office 365 need to use TLS
'username' => env('xxxx@xxxxxxx.xx'),
'password' => env('xxxxxxxxx'),

.env также имеет правильную конфигурацию:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.office365.com
MAIL_PORT=587                                                  //office 365 need to use 587
MAIL_USERNAME=xxxx@xxxxxxx.xx
MAIL_PASSWORD=xxxxxxxxx
MAIL_ENCRYPTION=tls                                            //office 365 need to use TLS

Функция postContact в Контроллер

public function postContact(Request $request) {

//validation
    $this->validate($request, [
        'companyName' => 'required',
        'name' => 'required',
        'email' => 'required|email',
        'phone' => 'numeric',
        'message' => 'min:10']);

//request data from submitted form
    $data = array(
        'companyName' => $request->companyName,
        'name' => $request->name,
        'email' => $request->email,
        'phone' => $request->phone,
        'bodyMessage' => $request->message
    );

//send mail
    Mail::send('emails.contact', $data, function($message) use ($data){
        //$message->from($data['email']);
        $message->to('xxxx@xxxxxxx.xx');
        $message->subject('New email from xxxxxxxx');
    });

    return redirect('/');    }

...