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: 14 años
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: 13 años, 11 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: 14 años, 6 meses
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: 14 años
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: 15 años, 4 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: 14 años
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: 15 años, 4 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: 14 años
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($smtpConnect, 515);
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($smtpConnect, 515);
$logArray['authrequest'] = "$smtpResponse";

//Envío de usuario
fputs($smtpConnect, base64_encode($username) . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['authusername'] = "$smtpResponse";

//Envío de password
fputs($smtpConnect, base64_encode($password) . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['authpassword'] = "$smtpResponse";

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

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

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

//Cuerpo del mensaje
fputs($smtpConnect, "DATA" . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$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($smtpConnect, 515);
$logArray['data2response'] = "$smtpResponse";

//Despedida a SMTP
fputs($smtpConnect,"QUIT" . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$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 13:03.