2015-12-04 3 views
-2

Я работаю в онлайн-форме, но я не могу ее запуститьPHP Mailer function mail() error

Кто-нибудь может мне помочь?

Это моя проблема:

следующие из адреса не удалось: [email protected]: называется почта() без подключения

Я не знаю, если мой код не правда рабочий или что , я использую PHP Mailer, и это мой PHP-код

<?php 
$mail_gmail='[email protected]'; 
$pass_gmail='***********'; 

require 'php_mailer/class.phpmailer.php'; 
require 'php_mailer/class.smtp.php'; 



$mail_destino='[email protected]'; 

$datos = $_POST; 

$mail = new PHPMailer(); 

$mail->IsSMTP(); 

$mail->SMTPAuth = true; 

$mail->SMTPSecure = "tsl"; 

$mail->Host = "smtp.gmail.com"; 

//$mail->Host = "localhost"; 

$mail->Port = 567; 

$mail->Username = $mail_gmail; 

$mail->Password = $pass_gmail; 

$mail->From = $mail_gmail; 

$mail->FromName = "Contacto"; 

$mail->Subject = "Contacto desde el sitio web"; 

$mensaje = "Se ha recibido una nueva solicitud de contacto, los datos son los siguientes: <br/>"; 

$table = "<table border='1'>"; 
    $table.= "<tr>"; 
     $table.= "<td>Nombre</td>"; 
     $table.= "<td>".$datos['nombre']."</td>"; 
    $table.= "</tr>"; 

    $table.= "<tr>"; 
     $table.= "<td>E-mail</td>"; 
     $table.= "<td>".$datos['email']."</td>"; 
    $table.= "</tr>"; 

    $table.= "<tr>"; 
     $table.= "<td>Comentarios</td>"; 
     $table.= "<td>".$datos['comentario']."</td>"; 
    $table.= "</tr>"; 

$table.= "</table>"; 

    $mail->Body = $mensaje."<p></p>".$table; 

    $mail->SMTPDebug = false; 

    $mail->IsHTML(true); 

    $mail->AddAddress($mail_destino); 

    $resultado = ""; 


    if($mail->Send()) 
    { 
     $resultado = array('estatus'=>true,'mensaje'=>'DATOS ENVIADOS EXITOSAMENTE'); 
    } 
    else 
    { 
     $resultado = array('estatus'=>false,'mensaje'=>'ERROR '.$mail->ErrorInfo); 
    } 

    echo json_encode($resultado); 

?> 

ответ

1

Можете ли вы попробовать с этим конфигом? :

$mail->SMTPSecure = "tls"; 
$mail->Port = 587; 

Или

$mail->SMTPSecure = "ssl"; 
$mail->Port = 465; 
0

Вы получили ваш протокол порта & несовпадающими. порт 465 предназначен для ssl, а порт 587 - для tls.

$mail->SMTPSecure = "tls"; // port 587 

$mail->SMTPSecure = "ssl"; // port 465 

использовать Также этот код $mail->SMTPDebug = 1 для того, чтобы отлаживать

+0

его не TSL, это TLS. – Sven

+0

отредактировал, спасибо Sven: D – Khang

+0

Он не работает с этим, может быть, это другая вещь? –