Foros del Web » Programando para Internet » PHP »

No puedo enviar correo phpmailer

Estas en el tema de No puedo enviar correo phpmailer en el foro de PHP en Foros del Web. Hola necesito ayuda para enviar correos , me dieron el hosting llamado "suempresa.com",(al parecer es un hosting compartido) e intento configurar el servidor de correo ...
  #1 (permalink)  
Antiguo 15/11/2012, 15:00
Avatar de Jvelazquez  
Fecha de Ingreso: octubre-2012
Ubicación: Tuxtla Gutierres, Chiapas, Mexico, Mexico
Mensajes: 10
Antigüedad: 11 años, 6 meses
Puntos: 0
Pregunta No puedo enviar correo phpmailer

Hola necesito ayuda para enviar correos , me dieron el hosting llamado "suempresa.com",(al parecer es un hosting compartido) e intento configurar el servidor de correo de gmail

Código PHP:

<?php
require_once("php/class.phpmailer.php");
require_once(
"php/class.smtp.php");
$nom=$_POST['id_order'];
$email=$_POST['email'];
$emp=$_POST['empresa'];
$tel=$_POST['telefono'];
$sit=$_POST['sitio'];
$mot=$_POST['motivo'];
$mess=$_POST['message'];

$mail = new PHPMailer(); // defaults to using php "mail()"

$mail->IsSMTP();
$mail->SMTPDebug 1;  // depuración: 1 = errores y messages, 2 = mensajes solamente
$mail->SMTPAuth true;
$mail->SMTPSecure "ssl";
$mail->Host "smtp.gmail.com";
$mail->Port 587;
$mail->Username "[email protected]";
$mail->Password ="Mexico22";
$mail->FromName $email;

$mail->Timeout=30;

$mail->AddAddress("[email protected]");
$mail->Subject $mot;
$mail->Body "Empresa:<b>"$emp "</b><br>";
$mail->Body .= "Nombre:<b>" $nom "</b><br>";
$mail->Body .= "Email:<b>" $email "</b><br>";
$mail->Body .= "Telefono:<b>" $tel "</b><br>";
$mail->Body .= "Sitio web:<b>" $sit "</b><br>";
$mail->Body .= "Motivo del mensaje:<b>" $mot "</b><br>";
$mail->Body .= "Mensaje:<b>" $mess "</b><br>";
//Definimos AltBody por si el destinatario del correo no admite email con formato html 
$mail->AltBody "Un cliente necesita informacion acerca de productos de Mexicoled";
//$mail->AddAttachment("doc1a1.pdf", "Acuse de Recibo.pdf");
$mail->Send();
echo(
$mail->ErrorInfo);

//header ("Location: index.php"); 
?>
cuando le doy enviar siempre me aparece el error de :

SMTP -> ERROR: Failed to connect to server: (0)
The following From address failed: root@localhost
The following From address failed: root@localhost
  #2 (permalink)  
Antiguo 16/11/2012, 02:54
Avatar de Geghnar  
Fecha de Ingreso: noviembre-2012
Ubicación: Vigo
Mensajes: 17
Antigüedad: 11 años, 5 meses
Puntos: 2
Respuesta: No puedo enviar correo phpmailer

Hola jvelazquez; prueba a cambiar lo siguiente:

Quita $mail->SMTPSecure = "ssl";

Pon en lugar de $mail->Host = "smtp.gmail.com"; --> $mail->Host = "ssl://smtp.gmail.com";

Cambia el puerto 587 por 465

¿el usuario no debería ser una cuenta de gmail?

Prueba y me cuentas a ver si damos con el problema.

Salu2
  #3 (permalink)  
Antiguo 16/11/2012, 03:33
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años
Puntos: 58
Respuesta: No puedo enviar correo phpmailer

Prueba usando el puerto 465 que creo que es el que usa GMail. Y no pongas la contraseña en un foro de internet! ahora cualquiera puede enviar un mail y ver tu bandeja de entrada!!!

Que algún moderador le edite la contraseña

Última edición por alyciashape; 16/11/2012 a las 03:59
  #4 (permalink)  
Antiguo 16/11/2012, 14:54
Avatar de Jvelazquez  
Fecha de Ingreso: octubre-2012
Ubicación: Tuxtla Gutierres, Chiapas, Mexico, Mexico
Mensajes: 10
Antigüedad: 11 años, 6 meses
Puntos: 0
Exclamación Respuesta: No puedo enviar correo phpmailer

El correo es gmail, es una app.
ya modifique y ahora me aparece este error

SMTP -> ERROR: Failed to connect to server: Connection timed out (110)
The following From address failed: root@localhost



Código PHP:

<?php
require_once("php/class.phpmailer.php");

$nom=$_POST['id_order'];
$email=$_POST['email'];
$emp=$_POST['empresa'];
$tel=$_POST['telefono'];
$sit=$_POST['sitio'];
$mot=$_POST['motivo'];
$mess=$_POST['message'];

$mail = new PHPMailer(); // defaults to using php "mail()"

$mail->IsSMTP();
$mail->SMTPDebug 1;  // depuración: 1 = errores y messages, 2 = mensajes solamente 
$mail->SMTPAuth true;
$mail->Host "ssl://smtp.gmail.com";
$mail->Port 465;
$mail->Username "[email protected]";
$mail->Password "*******";
$mail->FromName $email;

$mail->Timeout=30;

$mail->AddAddress("[email protected]");
$mail->Subject $mot;
$mail->Body "Empresa:<b>"$emp "</b><br>";
$mail->Body .= "Nombre:<b>" $nom "</b><br>";
$mail->Body .= "Email:<b>" $email "</b><br>";
$mail->Body .= "Telefono:<b>" $tel "</b><br>";
$mail->Body .= "Sitio web:<b>" $sit "</b><br>";
$mail->Body .= "Motivo del mensaje:<b>" $mot "</b><br>";
$mail->Body .= "Mensaje:<b>" $mess "</b><br>";
//Definimos AltBody por si el destinatario del correo no admite email con formato html 
$mail->AltBody "Un cliente necesita informacion acerca de productos de Mexicoled";
//$mail->AddAttachment("doc1a1.pdf", "Acuse de Recibo.pdf");
$mail->Send();

//header ("Location: index.php"); 
?>

Última edición por Jvelazquez; 16/11/2012 a las 15:10 Razón: Modificacion
  #5 (permalink)  
Antiguo 16/11/2012, 17:41
 
Fecha de Ingreso: junio-2011
Ubicación: Barcelona
Mensajes: 212
Antigüedad: 12 años, 10 meses
Puntos: 17
Respuesta: No puedo enviar correo phpmailer

Código PHP:
$mail->Host "ssl://smtp.gmail.com";
$mail->Port 465
Prueba utilizando encriptacion con tls y protocolo 568.

Luego estas utilizando un correo con dominio @mexicoled.com tienes configuradas las MX para poder gestionar el dominio con gmail?

Sino, como mucho te va a conectar pero no te logeara.

Saludos.
__________________
Twitter: @ed33x
  #6 (permalink)  
Antiguo 16/11/2012, 19:52
Avatar de Jvelazquez  
Fecha de Ingreso: octubre-2012
Ubicación: Tuxtla Gutierres, Chiapas, Mexico, Mexico
Mensajes: 10
Antigüedad: 11 años, 6 meses
Puntos: 0
Pregunta Respuesta: No puedo enviar correo phpmailer

Me sigue apareciendo el mismo error:
SMTP -> ERROR: Failed to connect to server: Connection timed out (110)
The following From address failed: root@localhost


Código PHP:
<?php
require_once("php/class.phpmailer.php");

$nom=$_POST['id_order'];
$email=$_POST['email'];
$emp=$_POST['empresa'];
$tel=$_POST['telefono'];
$sit=$_POST['sitio'];
$mot=$_POST['motivo'];
$mess=$_POST['message'];

$mail = new PHPMailer(); // defaults to using php "mail()"

$mail->IsSMTP();
$mail->SMTPDebug 1;  // depuración: 1 = errores y messages, 2 = mensajes solamente 
$mail->SMTPAuth true;
$mail->Host "tls://smtp.gmail.com";
$mail->Port 568;
$mail->Username "[email protected]";
$mail->Password "******";
$mail->FromName $email;

$mail->Timeout=30;

$mail->AddAddress("[email protected]");
$mail->Subject $mot;
$mail->Body "Empresa:<b>"$emp "</b><br>";
$mail->Body .= "Nombre:<b>" $nom "</b><br>";
$mail->Body .= "Email:<b>" $email "</b><br>";
$mail->Body .= "Telefono:<b>" $tel "</b><br>";
$mail->Body .= "Sitio web:<b>" $sit "</b><br>";
$mail->Body .= "Motivo del mensaje:<b>" $mot "</b><br>";
$mail->Body .= "Mensaje:<b>" $mess "</b><br>";
//Definimos AltBody por si el destinatario del correo no admite email con formato html 
$mail->AltBody "Un cliente necesita informacion acerca de productos de Mexicoled";
//$mail->AddAttachment("doc1a1.pdf", "Acuse de Recibo.pdf");
$mail->Send();

//header ("Location: index.php");


y lo del registro mx, no se decirte pero parece que si:

[URL="http://www.intodns.com/mexicoled.com"]http://www.intodns.com/mexicoled.com[/URL]
  #7 (permalink)  
Antiguo 16/11/2012, 20:01
 
Fecha de Ingreso: junio-2011
Ubicación: Barcelona
Mensajes: 212
Antigüedad: 12 años, 10 meses
Puntos: 17
Respuesta: No puedo enviar correo phpmailer

Quitale el:

Código PHP:
$mail->Timeout=30
Y para la encriptacion tls dejalo a si:

Código PHP:
$mail->Host "tls"
Saludos!
  #8 (permalink)  
Antiguo 17/11/2012, 11:11
Avatar de Jvelazquez  
Fecha de Ingreso: octubre-2012
Ubicación: Tuxtla Gutierres, Chiapas, Mexico, Mexico
Mensajes: 10
Antigüedad: 11 años, 6 meses
Puntos: 0
Pregunta Respuesta: No puedo enviar correo phpmailer

ya lo soluciones con otra funcion , me dijieron que como es un hosting compartido no se puede enviar.

asi que investigue en el soporte y encontre esto:

Código PHP:
<?php
$to 
"[email protected]";
$nameto "Cotizaciones";
$from $_POST['email'];
$namefrom $_POST['id_order'];
$subject $_POST['motivo'];
$message $_POST['message']."\r\n Empresa:".$_POST['empresa']."\r\n Telefono:".$_POST['telefono']."\r\n Sitioweb:".$_POST['sitio'];
$emp=$_POST['empresa'];
$tel=$_POST['telefono'];
$sit=$_POST['sitio'];


authSendEmail ($from$namefrom$to$nameto$subject$message);
?>

<?php
/* * * * * * * * * * * * * * Funciones de envío de correo * * * * * * * * * * * * * */

function authSendEmail($from$namefrom$to$nameto$subject$message)
{
//SMTP + Detalles del servidor
/* * * * Inicia configuración * * * */
$smtpServer "webmail.mexicoled.com";
$port "25";
$timeout "30";
$username "[email protected]";
$password "*******";
$localhost "localhost";
$newLine "\r\n";
/* * * * Termina configuración * * * * */

//Conexión al servidor en el puerto específico
$smtpConnect fsockopen($smtpServer$port$errno$errstr$timeout);
$smtpResponse fgets($smtpConnect515);
if(empty(
$smtpConnect))
{
$output "Failed to connect: $smtpResponse";
//return $output;
}
else
{
$logArray['connection'] = "Connected: $smtpResponse";
}

//Solicitud de logueo
fputs($smtpConnect,"AUTH LOGIN" $newLine);
$smtpResponse fgets($smtpConnect515);
$logArray['authrequest'] = "$smtpResponse";

//Envío de usuario
fputs($smtpConnectbase64_encode($username) . $newLine);
$smtpResponse fgets($smtpConnect515);
$logArray['authusername'] = "$smtpResponse";

//Envío de password
fputs($smtpConnectbase64_encode($password) . $newLine);
$smtpResponse fgets($smtpConnect515);
$logArray['authpassword'] = "$smtpResponse";

//Saludo a SMTP
fputs($smtpConnect"HELO $localhost" $newLine);
$smtpResponse fgets($smtpConnect515);
$logArray['heloresponse'] = "$smtpResponse";

//Envía correo desde
fputs($smtpConnect"MAIL FROM: $from" $newLine);
$smtpResponse fgets($smtpConnect515);
$logArray['mailfromresponse'] = "$smtpResponse";

//Envía correo a
fputs($smtpConnect"RCPT TO: $to" $newLine);
$smtpResponse fgets($smtpConnect515);
$logArray['mailtoresponse'] = "$smtpResponse";

//Cuerpo del mensaje
fputs($smtpConnect"DATA" $newLine);
$smtpResponse fgets($smtpConnect515);
$logArray['data1response'] = "$smtpResponse";

//Construyendo encabezados
$headers "MIME-Version: 1.0" $newLine;
$headers .= "Content-type: text/html; charset=iso-8859-1" $newLine;
$headers .= "To: $nameto <$to>" $newLine;
$headers .= "From: $namefrom <$from>" $newLine;


fputs($smtpConnect"To: $to\nFrom: $from\nSubject: $subject\n$headers\n\n$message\n.\n");
$smtpResponse fgets($smtpConnect515);
$logArray['data2response'] = "$smtpResponse";

//Despedida a SMTP
fputs($smtpConnect,"QUIT" $newLine);
$smtpResponse fgets($smtpConnect515);
$logArray['quitresponse'] = "$smtpResponse";
}
header(location'http://mexicoled.com/'); exit;
//SuEmpresa.com una división de Interplanet S.A. de C.V.
//Servicios de Internet para negocios.
?>

y lo envia a atmail, ahora el problema adjuntar archivo pdf

Etiquetas: correos, hostingcompartido, phpmailer
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:34.