2010-05-07 16 views
5

¿Es posible verificar si el php puede obtener algún tipo de ping/flag del servidor de intercambio de correo para decir "sí, el correo electrónico ha sido enviado al destinatario deseado"?Verificación de éxito de la función de correo() PHP

De acuerdo con el manual de PHP, el retorno de mail() booleano podría significar; "Es importante tener en cuenta que el mero hecho de que el correo sea aceptado para su entrega, NO significa que el correo llegue realmente al destino deseado".

¿Esto significa que PHP puede devolver el éxito pero en realidad podría haber un problema en el servidor de correo que php no sabría al respecto? y en este caso, no se ha enviado ningún correo electrónico y el usuario no es el más prudente.

TIA Jared

+0

Exactamente, el correo puede dar verdadero y el envío del correo puede fallar silenciosamente. –

+0

AFAIK, la forma más precisa es hacer que el usuario realice algún tipo de acción dentro del correo electrónico enviado. Si la acción se completa, presumiblemente recibieron el correo electrónico. – munch

Respuesta

4

La función mail() simplemente se conectará a través de SMTP al servidor y enviar el mensaje. Luego, si el servidor dice que el servidor recibió el mensaje, el correo retornará con éxito.

Mientras tanto, las cosas pueden salir mal. La cuenta del usuario podría eliminarse, el disco duro en el servidor de correo podría fallar, el servidor SMTP podría no encontrar el servidor de correo del usuario. El servidor de correo del usuario podría rechazar el mensaje porque el buzón del usuario está lleno. Muchas, muchas cosas podrían salir mal.

Esto no es culpa de PHP. Y no se pudo hacer ninguna mejora razonable a ninguna API de lenguaje de programación para asegurarse de que alguien recibiera el mensaje. Pero algunas compañías como CampaignMonitor ofrecen un servicio pago que verificará si hay rebotes y si las personas abren el mensaje para actualizar el envío por correo de sus listas de correo. Utilizando API de servicios como estos, puede verificar en unos días si el mensaje se recibió con éxito.

Por lo tanto, los documentos de PHP solo dicen: 'Sólo podemos decirle si el primer servidor SMTP dijo que lo obtuvieron. Cualquier número de problemas podría ocurrir entre las computadoras de allí a la persona con la cuenta de correo electrónico '.

+1

bien, esas son las respuestas que quería saber, gracias chicos :) p.s dios Me encanta este sitio !! <3 – Jared

Cuestiones relacionadas