PHP - uso phpMailer y me da el error "SMTP connect() failed."

 
Vista:

uso phpMailer y me da el error "SMTP connect() failed."

Publicado por Express (8 intervenciones) el 09/10/2019 18:24:10
Hola a todos. Me sucede que necesito enviar correos a los clientes. desde mi web. Para eso pretendo usar la clase phpmailer, he probado con varios ejemplos que he visto en internet y en todos me está arrojando error "SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting" en un primer caso y " SMTP Error: Could not connect to SMTP host." en el ejemplo que aparece por defecto en gintub de la api phpmailer. Ya habilite el correo para que permita conexiones de app menos seguras. El usaurio y contraseña estan bien. Ya no se que mas hacer . Habajo les pongo el codigo de los dos ejemplos que tengo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
require("class.phpmailer.php");
require("class.smtp.php");
if ( !isset($_POST["nombre"]) || !isset($_POST["email"]) || !isset($_POST["asunto"])  || !isset($_POST["mensaje"]) ) {
    die ("Es necesario completar todos los datos del formulario");
}
$nombre = $_POST["nombre"];
$email = $_POST["email"];
$asunto = $_POST["asunto"];
$mensaje = $_POST["mensaje"];
$destinatario = "micorreo@gmail.com";
// Datos de la cuenta de correo utilizada para enviar v�a SMTP
$smtpHost = "mail.gmail.com";  // Dominio alternativo brindado en el email de alta 
$smtpUsuario = "micorreo@gmail.com";  // Mi cuenta de correo
$smtpClave = "************";  // Mi contrase�a
 
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->Port = 587;
$mail->IsHTML(true);
$mail->CharSet = "utf-8";
 
// VALORES A MODIFICAR //
$mail->Host = $smtpHost;
$mail->Username = $smtpUsuario;
$mail->Password = $smtpClave;
 
 
$mail->From = $email; // Email desde donde env�o el correo.
$mail->FromName = $nombre;
$mail->AddAddress($destinatario); // Esta es la direcci�n a donde enviamos los datos del formulario
 
$mail->Subject = "Formulario desde el Sitio Web de Roceb"; // Este es el titulo del email.
$mensajeHtml = nl2br($mensaje);
$mail->Body = "
<html> 
<body> 
<h1>Recibiste un nuevo mensaje desde el formulario de contacto</h1>
<p>Informacion enviada por el usuario de la web:</p>
<p>nombre: {$nombre}</p>
<p>email: {$email}</p>
<p>asunto: {$asunto}</p>
<p>mensaje: {$mensaje}</p>
</body> 
</html>
<br />"; // Texto del email en formato HTML
$mail->AltBody = "{$mensaje} \n\n "; // Texto sin formato HTML
// FIN - VALORES A MODIFICAR //
$mail->SMTPOptions = array(
    'ssl' => array(
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    )
);
$estadoEnvio = $mail->Send();
if($estadoEnvio){
    echo "El correo fue enviado correctamente.";
} else {
    echo "Ocurrió un error inesperado.".$mail->ErrorInfo;
}
?>


en este segundo caso usé composer
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
// Load Composer's autoloader
require 'vendor/autoload.php';
// Instantiation and passing `true` enables exceptions
$mail = new PHPMailer(true);
try {
    //Server settings
    $mail->SMTPDebug = SMTP::DEBUG_SERVER;    ;                      // Enable verbose debug output
    $mail->isSMTP();        
    $mail->Debugoutput = 'html';
    $mail->Host       = 'imap.gmail.com';                    // Set the SMTP server to send through
    $mail->SMTPAuth   = true;                        // Enable SMTP authentication
    $mail->Username   = 'yjmarichal2@gmail.com';
    $mail->Password   = '*********';                               // SMTP password
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;    
    $mail->Port       = 587 ;                                    // TCP port to connect to
    //Recipients
    $mail->setFrom('yjmarichal2@gmail.com', 'Mi mismo');
    $mail->addAddress('yjmarichal2@gmail.com', 'Mi mismo');     // Add a recipient

    $mail->isHTML(true);                                  // Set email format to HTML
    $mail->Subject = 'Here is the subject';
    $mail->Body    = 'Seria muy bueno que <b>funcionara<b>';
    $mail->AltBody = 'Seria muy bueno que funcionara';
    $mail->send();
    
    echo 'Email has been sent';
} catch (Exception $e) {
    echo "Email could not be sent. Mailer Error: {$mail->ErrorInfo}";
}
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

uso phpMailer y me da el error "SMTP connect() failed."

Publicado por joel (1269 intervenciones) el 09/10/2019 19:05:29
Tal como comentas el host es erroneo!!! en vez de imap.gmail.com prueba smtp.gmail.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

uso phpMailer y me da el error "SMTP connect() failed."

Publicado por Express (8 intervenciones) el 09/10/2019 19:40:16
bueno la verdad es que en el ejemplo lo probe con imap porque ese fue mi ultimo intento desesperado. pero lo tenia con smtp.gmail.com y me daba el mismo error. ya en este caso cambie el smtp

2019-10-09 17:32:34 SERVER -> CLIENT: 220 smtp.gmail.com ESMTP u141sm841179oie.40 - gsmtp
2019-10-09 17:32:35 CLIENT -> SERVER: EHLO localhost
2019-10-09 17:32:35 SERVER -> CLIENT: 250-smtp.gmail.com at your service, [2806:108e:12:532a:2175:389c:9495:3434]250-SIZE 35882577250-8BITMIME250-STARTTLS250-ENHANCEDSTATUSCODES250-PIPELINING250 SMTPUTF8
2019-10-09 17:32:35 CLIENT -> SERVER: STARTTLS
2019-10-09 17:32:35 SERVER -> CLIENT: 220 2.0.0 Ready to start TLS
SMTP Error: Could not connect to SMTP host.
2019-10-09 17:32:38 CLIENT -> SERVER: QUIT
2019-10-09 17:32:38 SERVER -> CLIENT:
2019-10-09 17:32:38 SMTP ERROR: QUIT command failed:
SMTP Error: Could not connect to SMTP host.
Email could not be sent. Mailer Error: SMTP Error: Could not connect to SMTP host.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

uso phpMailer y me da el error "SMTP connect() failed."

Publicado por Express (8 intervenciones) el 09/10/2019 19:43:27
me da el mismo error cuando subo la web al
servidor de internet también
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Manuel Garcia
Val: 73
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

uso phpMailer y me da el error "SMTP connect() failed."

Publicado por Manuel Garcia (24 intervenciones) el 10/10/2019 19:21:04
Hola, tengo estan estos dos videos si quieres checalos


Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar