entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Enviar Correos PHP

Buenas Noches

Estoy intentando enviar correos desde php pero mi duda es no es necesario configurar el SMTP del origen? me encontre con este codigo de ejemplo lo he probado pero no me ha resultado ¿alguna idea del porque?

$headers = "From: [email protected]"; 
 $mensaje = "Usted solicito un registro en pagina.com, n 
 Para confirmarlo debe hacer click en el siguiente enlace: n 
 http://localhost:8081/confirmar.php?codigo=".$codigoverificacion; 
 if (!@mail("[email protected]","Confirmacion de registro en pagina.com","$mensaje","$headers")) die ("No se pudo enviar el email de confirmacion."); 
 echo "Tu cuenta ha sido registrada, sin embargo, esta requiere que la confirmes desde el email que ingresaste en el registro."; 

No me marca ningun error pero no llega el mail.

2 Respuestas

2votos

Leonardo-Tadei Puntos227320

Hola @AdanCervera,

si como parece estás probando el envío corriendo el script en tu propia computadora, deberías tener un servidor SMTP funcionado para que el correo salga, ya que la función mail() usa la configuración por default del SMTP.

Si tu plataforma es GNU/Linux, tenés instalado un servidor SMTP por default.

Aun así, dado que tu propia PC no debería tener una IP fija no una reversa DNS asociada al dominio del que dices enviar con el From: el servidor de destino deberá rechazar tu mensaje y por eso no lo vez llegar.

El código luce bien y el uso de la función mail es correcta: deberías correrlo en un servidor "de verdad" conectado a internet para verlo funciionar.

Saludos cordiales!

PD: si trabajás con GNU/Linux, cada usuario del equipo tiene una cuenta de correo local asociada. Si tu usuario es "adan" podrías enviar el mail a "adan@localhost" y ver tu código funcionando en local. Luego configurás un cliente de correo para que vea tus mails en local y estarás usando toda la misma tecnología de envío y recepción de mensajes en tu propio equipo.

0voto

wroque comentado

enter image description here

1voto

wroque Puntos4630

usar @ anulas el print de excepciones, debes dejar el php en display_error=On, y dejar que imprima las excepciones.

debes tener instalado el servicio de mails. En tu servidor linux revisa el estado del postfix.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta