Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Warning: stream_socket_enable_crypto(): this stream does not support SSL/crypto in C:\xampp\htdocs\12work\class.smtp.php on line 197

Tags:

php

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 = "[email protected]"; // SMTP username

$mail->Password = "mypassword"; // SMTP password

$mail->From = "[email protected]"; //do NOT fake header.

$mail->FromName = "MailMan";

$mail->AddAddress("[email protected]"); // 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";

}
like image 467
Arslan Sunny Avatar asked Feb 20 '13 11:02

Arslan Sunny


3 Answers

Alright, we need to enable Open SSL module. Here is how to do it:

  1. Locate and open your php.ini file
  2. Search for the line: ;extension=php_openssl.dll
  3. Enable the module by removing ; char.
  4. 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

like image 186
sybear Avatar answered Nov 16 '22 03:11

sybear


In my local system avast mail shield was on I was not allowing any mail to be sent by smtp gmail once I disabled it, the mails were sending in local system via smtp

like image 36
vikas etagi Avatar answered Nov 16 '22 03:11

vikas etagi


Just a quick note,
you use $mail->Port = 25;

 $mail->SMTPSecure = "tls";

Port should be 587 for gmail /tls
See https://support.google.com/mail/answer/78775?hl=el

like image 2
Konstantinos Chertouras Avatar answered Nov 16 '22 02:11

Konstantinos Chertouras