Php Mailer error on hostgator

2

This error is giving hope that somebody help me please. Thank you

  

(Warning: stream_socket_enable_crypto (): Peer certificate   CN = '*.hostgator.com.br' did not match expected   CN = 'mail.systembit.com.br' in   /home/syste058/public_html/PHPMailer/class.smtp.php on line 344 Error   when sending e-mail: SMTP connect () failed.    link )

PHP CODE

<?php
// Caminho da biblioteca PHPMailer
require 'PHPMailer/PHPMailerAutoload.php';

$Vai        = "name: $name\n\n\email: $email\n\n\assunto: $assunto\n\ntel: $tel\n\n\mensagem: $mensagem\n";

$servidor     = (isset($_POST['servidor-smtp'])) ? $_POST['servidor-smtp'] : 'mail.systembit.com.br';

$porta        = (isset($_POST['porta'])) ? $_POST['porta'] : '25';

$encriptacao  = (isset($_POST['encriptacao'])) ? $_POST['encriptacao'] : 'true';

$usuario      = (isset($_POST['usuario'])) ? $_POST['usuario'] :'[email protected]';

$senha        = (isset($_POST['senha'])) ? $_POST['senha'] : '****';

$name    = (isset($_POST['name'])) ? $_POST['name'] :'';

$email      = (isset($_POST['email'])) ? $_POST['email'] : '';

$tel      = (isset($_POST['tel'])) ? $_POST['tel'] : '';

$assunto      = (isset($_POST['assunto'])) ? $_POST['assunto'] : 'Mensagem do site System Bit';

$cabecalho    = "Email enviado por : ".$name." na data ".date('d-m-y H:i')."<br />\n";

$destinatario = (isset($_POST['destinatario'])) ? $_POST['destinatario']: '[email protected]';

$mensagem     = (isset($_POST['mensagem'])) ? $_POST['mensagem'] : '';


// Instância do objeto PHPMailer
$mail = new PHPMailer;

// Configura o charset do e-mail
$mail->CharSet = 'UTF-8';

// Configura para envio de e-mails usando SMTP
$mail->isSMTP();

// Servidor SMTP
$mail->Host = $servidor;

// Usar autenticação SMTP
$mail->SMTPAuth = true;

// Usuário da conta
$mail->Username = $usuario;

// Senha da conta
$mail->Password = $senha;

// Tipo de encriptação que será usado na conexão SMTP
$mail->SMTPSecure = $encriptacao;

// Porta do servidor SMTP
$mail->Port = $porta;

// Informa se vamos enviar mensagens usando HTML
$mail->IsHTML(true);

// Email do Remetente
$mail->From = $email;

// Nome do Remetente
$mail->FromName = $name;

// Endereço do e-mail do destinatário
$mail->addAddress($destinatario);

// Assunto do e-mail
$mail->Subject = $assunto;

// Mensagem que vai no corpo do e-mail
$mail->Body = $cabecalho.$email.$tel.$mensagem;

// Envia o e-mail e captura o sucesso ou erro
if($mail->Send()):
    echo "E-mail enviado com sucesso!";
else:
    echo "Erro ao enviar e-mail: {$mail->ErrorInfo}";

endif;
    
asked by anonymous 27.08.2016 / 19:26

1 answer

3

PHP validates SSL certificates. It looks like you do not have a valid certificate for mail.systembit.com.br on your system.

While the correct solution is to install a valid certificate, a more immediate work-around is to disable validation:

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

Sources:

  • SOen - PHPMailer generates PHP Warning: stream_socket_enable_crypto (): Peer certificate did not match expected
  • PHPMailer - SSL certificate is not verified
  • 27.08.2016 / 20:40