Warning: stream_socket_enable_crypto(): this stream does not support SSL/crypto in C:\xampp\htdocs\12work\class.smtp.php on line 197
email, gmail, laravel, php, smtp-auth
Solution
Alright, we need to enable Open SSL module. Here is how to do it:
- Locate and open your `php.ini` file
- Search for the line: `;extension=php_openssl.dll`
- Enable the module by removing `;` char.
- Save the file and restart Apache.
Hint: If you are not familiar with `php.ini` file, it is recommended to create a backup before modification. Ini is a configuration file and misconfigured or corrupted ini can result in that web server will not start.
If you are using LAMP stacks such as wamp, it should be possible to enable modules via graphic interface.
More about `php.ini`: https://secure.php.net/manual/en/configuration.file.php
Problem
I am using XAMPP and when trying to send email through `localhost` I get the following warning: Warning: `stream_socket_enable_crypto()`: this stream does not support SSL/crypto in `C:\xampp\htdocs\12work\class.smtp.php` on line 197 Here is my code: ``` $mail = new PHPMailer(); $mail->IsSMTP(); // set mailer to use SMTP $mail->Host = "smtp.gmail.com"; // specify main and backup server $mail->SMTPAuth = true; $mail->Port = 25; $mail->SMTPSecure = "tls"; $mail->SMTPAuth = true; // turn on SMTP authentication $mail->Username = "sheikh.abm@gmail.com"; // SMTP username $mail->Password = "mypassword"; // SMTP password $mail->From = "sheikh.abm@gmail.com"; //do NOT fake header. $mail->FromName = "MailMan"; $mail->AddAddress("sheikh.abm@gmail.com"); // Email on which you want to send mail $mail->IsHTML(true); $mail->Subject = "Just a Test"; $mail->Body = "Hello. I am testing <b>PHP Mailer.</b>"; if(!$mail->Send()) { echo $mail->ErrorInfo; }else{ echo "email was sent"; } ```