18 Eylül 2021

Laravel Open SSL stream_socket_enable_crypto() mail gönderme problemi

ile hasan

Laravel projenizde SMTP sunucusu üzerinden mail göndermek istediğinizde stream_socket_enable_crypto() ile ilgili bir SSL hatası alıyorsanız bunun çözümü ne hikmetse Laravel dökümanında bulunmamakla beraber oldukça basit.

Internette konuyla ilgili pek çok yabancı kaynakta ve yerli olarak Umut Bektaş‘ın blogunda işin özü anlatılıyor. Sadece yeni Laravel sürümlerinde ayarın yeri biraz değişiyor, o kadar. Ben de her iki versiyonu burada yazıp konuyu çok uzatmayacağım.

Laravel’de mail ayarlarının bulunduğu config/mail.php dosyasında, 4x, 5x ve 6x sürümlerinde dosyanın en sonuna, 7x ve 8x sürümlerinde mailers->smtp key’inin altına şu array’i eklemek yeterli.

            'stream' => [
                'ssl' => [
                   'allow_self_signed' => true,
                   'verify_peer' => false,
                   'verify_peer_name' => false,
                ],
             ], 
Laravel 7x ve 8x sürümleri için mail ayarlarınızın bu şekilde olması gerekiyor.