2011-03-30 9 views
13

código simple:PHP electrónico devuelve TRUE, pero el correo electrónico no se envía

mail("[email protected]", $subject, $text);

No envía mensajes de correo electrónico, pero aún así, devuelve TRUE. ¿Qué es Hapenning?

P.S. Incluso si agrego encabezados, ¡el resultado es el mismo!

+0

¿Cuidar para proporcionar información sobre su servidor? ¿es linux oder windows? ¿Qué servidor estás enviando? ¿puede enviar un correo electrónico utilizando un cliente de correo a través de ese servidor al que está enviando sus correos de php? – ITroubs

Respuesta

12

del man page for mail():

Devuelve TRUE si el correo fue aceptado satisfactoriamente para la entrega, de lo contrario.

Es importante tener en cuenta que acaba de debido a que el correo sea aceptado por entrega, lo hace NO significar el correo en realidad llegar a la destino previsto.


Básicamente no hay nada que realmente puede hacer en ol llano' PHP a menos que realidad cheque el cable para ver lo que está pasando. Sugiero usar alguna biblioteca de correo que tenga alguna indicación de si el correo enviado o no (si existe)

3

¿Sabe de hecho que el correo electrónico no se envía? El correo electrónico podría ir desde su script php a su servidor SMTP, pero se puede colocar en algún lugar entre el primer servidor SMTP y gmail.

Intente ver el tráfico de la red para verificar que el correo electrónico se esté enviando usando algo similar al wireshark.

2

Consulte el comentario de @ Neal. Simplemente devolver true significa muy poco.

Debe verificar su PHP.ini y asegurarse de que sus servidores SMTP estén configurados correctamente (si están en Windows) o que su ruta de sendmail (Linux) es correcta. Desde allí, verifique su configuración de sendmail.

+4

lol mío no era un comentario, la mía era una respuesta ... – Neal

Cuestiones relacionadas