[php] PHPMailer: SMTP Error: Could not connect to SMTP host

I've used PHPMailer on several projects but now I'm stuck. It gives me the error:
SMTP Error: Could not connect to SMTP host.
I've tried sending email from Thunderbird and it works ! But not through PHPMailer ... Here are the settings from Thunderbird:

Server name: mail.exampleserver.com
Port: 587
Username: [email protected]
Secure Authentication: No
Connection Security: STARTTLS

I've compared these with the server at my last project where I used PHPMailer and they were:

Server name: mail.exampleserver2.com
Port: 465
Username: [email protected]
Secure Authentication: No
Connection Security: SSL/TLS

My php code is:

 $mail = new PHPMailer();
 $mail->IsSMTP(); // send via SMTP
 $mail->Host = SMTP_HOST; // SMTP servers
 $mail->Port = SMTP_PORT; // SMTP servers
 $mail->SMTPAuth = true; // turn on SMTP authentication
 $mail->Username = SMTP_USER; // SMTP username
 $mail->Password = SMTP_PASSWORD; // SMTP password
 $mail->From = MAIL_SYSTEM;
 $mail->FromName = MAIL_SYSTEM_NAME;
 $mail->IsHTML(true); // send as HTML

Where I am wrong?

This question is related to php email phpmailer

The answer is

Since this questions shows up high in google, I'd like to share here my solution for the case where PHP was just upgraded to version 5.6 (which has stricter SSL behavior).

The PHPMailer wiki has a section on this:


The suggested workaround is including the following piece of code:

$mail->SMTPOptions = array(
    'ssl' => array(
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true

This should work for PHPMailer 5.2.10 (and up).

Note: Obviously, and also as suggested in that wiki, this should be a temporary solution!

The correct fix for this is to replace the invalid, misconfigured or self-signed certificate with a good one.

Similar questions with php tag:

Similar questions with email tag:

Similar questions with phpmailer tag: