Como ver mails enviados por el host en CPanel ?

Namaris

Hola,

estoy usando una simple funcion mail() en PHP y no me llega el correo que el servidor deberia enviarme, me gustaría ver si el error viene de mi hosting (es de pago) porque antes si lo enviaba, ¿hay algun log o apartado en cpanel existente para ver los mails enviados por el SMTP del hosting?

P.D: No quiero usar otro servidor SMTP por dos motivos, no se hacerlo xD y me gustaría comprobar si funciona como debe el del hosting.

Edit: Hay un post relacionado que dice: You can find the email log at /var/mail/exim_mainlog. Try tailing it
http://www.webhostingtalk.com/showthread.php?t=726269

En mi FTP no encuentro esa ruta, la carpeta "var"...

Merkury

Si es un hosting compartido posiblemente no tengas acceso a /var/mail...

Mira a ver los logs de apache, ahi debería salir el error.

1 respuesta
Namaris

#2 Como se mira?

1 respuesta
Merkury

#3 tienes acceso por consola al server?

1 respuesta
Namaris

#4 No, al menos en el Cpanel no pone nada

1 respuesta
Merkury

#5 Que hosting estas usando?

eXtreM3

Lo primero de todo hazte un testmail.php como dicen en la documentación

<?php
$para      = '[email protected]';
$titulo    = 'El título';
$mensaje   = 'Hola';
$cabeceras = 'From: [email protected]' . "\r\n" .
    'Reply-To: [email protected]' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($para, $titulo, $mensaje, $cabeceras);
?>

Lo colocas en el raíz del sitio y lo ejecutas. Si no funciona contacta con tu hosting pues te habrán capado la función mail por uso indebido o inapropiado (spam, malware, o similares)

1 1 respuesta
Namaris

#7 Eso ya lo he hecho y no funciona, me dicen desde el hosting que no esta capado...Por eso quiero hacer una comprobación con el log del sistema.

Veo algo que dice conexion ssh en el cpanel, ¿puede ser esa la consola por la que me pueda conectar con el host?

1 respuesta
eXtreM3

#8 si ese código no te funciona es cosa del hosting. Llama e insísteles, diles que has probado el ejemplo de la documentación oficial de php y no funciona, algo raro pasa con el email.

pd: imagino y doy por hecho que la cuenta a la que lo estás intentando enviar tiene espacio libre, has mirado el spam... etc etc no?

1 respuesta
Namaris

#9

A la cuenta donde estoy enviando es Gmail y le quedan como 6 Gb libres creo.

No me ha servido de mucho insistir y estoy siguiendo el consejo del IT que dice que intente utilizar un servidor SMTP para ello, asi que lo que estoy intentando hacer ahora es usarl la clase PHPMailer de Google.

Durante el proceso que todavia no he finalizado me ha surgido una duda;

Q: En el caso de que la funcion mail() de PHP funcionára, ¿quien emite el correo? El servidor SMTP del host generico?

Q2: En caso de que consiguiera hacer funcionar el PHPMailer, podría optar a que el email lo envie la cuenta de correo de mi dominio? O podría fallar si mi host tuviera bloqueada la funcion al igual que con mail() ?

1 respuesta
eXtreM3

#10 me parece que PHPMailer, a pesar de realizar envíos de manera autenticada, sigue tirando de la función mail() pura, así que mientras el código de #7 no te funcione olvídate de que phpmailer funcione. No estoy muy seguro de esto en realidad, es lo que me dice la lógica.

1 respuesta
Namaris

#11 Pues el soporte del hosting no me dijo lo mismo, me dijo que usará SMTP porque era más seguro, la funcion mail() a veces es bloqueada por ellos....

Llevo un rato desde esta mañana intentando hacer funcionar el PHPMailer con el servidor SMTP de google y me sale error:

http://restaurantcanpages.com/testingphpmailer.php

1 respuesta
E

#12

										
require_once('core/PHPMailer/PHPMailerAutoload.php');
$mail = new PHPMailer;
$mail->isSMTP();                                      // Set mailer to use SMTP
$mail->Host = 'mail.XXX.es';  // Specify main and backup SMTP servers
$mail->SMTPAuth = true;                               // Enable SMTP authentication
$mail->Username = '[email protected]';                 // SMTP username
$mail->Password = 'XXX';                           // SMTP password
$mail->From = '[email protected]';
$mail->FromName = 'OJETE';
$mail->addAddress($email_registro);

$mail->WordWrap = 500;                                 // Set word wrap to 500 characters
$mail->isHTML(true);                                  // Set email format to HTML

$mail->Subject = 'Registro de usuario en XXX.es';
$mail->Body    = 'XXX';
$mail->AltBody = 'XXX';

if($mail->send()) {
$registro_completo = true;
}
1 respuesta
Namaris

#13 Merci, ya funciona ;)

El único problema es que Gmail no quiere recibir los correos que son enviados desde mi hosting, he hecho la prueba y lo reciben todos menos mi cuenta Gmail (ya he mirado en Spam)

1 respuesta
E

#14 mmmm puede que esté en otro inbox?

1 respuesta
Namaris

#15 No lo esta, te lo puedo asegurar. Es alguna movida de Gmail que no deja que llegue. Y no se trata de spam ni exceso de mails te lo aseguro tambien.

1 respuesta
E

#16 llama a soporte de google, ellos te podrán ayudar y verán por qué te lo están tirando. Yo lo hice una vez con hotmail y al día siguiente estaba arreglado.

1 respuesta
Namaris

#17 Lo sé, trabajo para Google (indirectamente) dando soporte tecnico a usuarios de Play xD
Merci por contestar!

Usuarios habituales

  • Namaris
  • elraro
  • eXtreM3
  • Merkury