PHPMailer sends with TLS, even if encryption is not enabled

I am trying to send email using PHPMailer without TLS, but PHPMailer is still trying to send email with TLS, even if I did not enable it:

include_once("PHPMailer-master\PHPMailerAutoload.php"); $To = ' some@site.com '; $Subject = 'Topic'; $Message = 'msg test'; $Host = 'site.com.br'; $Username = ' contact@site.com.br '; $Password = 'pass'; $Port = "587"; $mail = new PHPMailer(); $body = $Message; $mail->IsSMTP(); // telling the class to use SMTP $mail->Host = $Host; // SMTP server $mail->SMTPDebug = 1; // enables SMTP debug information (for testing) // 1 = errors and messages // 2 = messages only $mail->SMTPAuth = true; // enable SMTP authentication //$mail->SMTPSecure = 'ssl'; //or tsl -> switched off $mail->Port = $Port; // set the SMTP port for the service server $mail->Username = $Username; // account username $mail->Password = $Password; // account password $mail->SetFrom($Username); $mail->Subject = $Subject; $mail->MsgHTML($Message); $mail->AddAddress($To); if(!$mail->Send()) { $mensagemRetorno = 'Error: '. print($mail->ErrorInfo); echo $mensagemRetorno; } else { $mensagemRetorno = 'E-mail sent!'; echo $mensagemRetorno; } 

After sending the email, I received the following message:

 2016-09-01 21:08:55 CLIENT -> SERVER: EHLO www.johnmendes.com.br 2016-09-01 21:08:55 CLIENT -> SERVER: STARTTLS 2016-09-01 21:08:55 SMTP ERROR: STARTTLS command failed: 454 TLS not available due to temporary reason 2016-09-01 21:08:55 SMTP Error: Could not connect to SMTP host. 2016-09-01 21:08:55 CLIENT -> SERVER: QUIT 2016-09-01 21:08:55 SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting Erro ao enviar e-mail: 1 

Server does not support ssl or tls.

Any idea?

+5
source share
1 answer

This is described in the PHPMailer docs. PHPMailer does opportunistic TLS - if the server advertises that it can do TLS (what your does), it will use it automatically without your request. You can disable this:

 $mail->SMTPSecure = false; $mail->SMTPAutoTLS = false; 

From the error message, it looks like this is a temporary problem for your hosting provider. You will see more information if you set $mail->SMTPDebug = 2; .

I see that you based your code on an outdated example, so make sure you have the latest version of PHPMailer and base your code on the examples that come with it.

+13
source

All Articles