Problemas con "Envio de correos en php"
-
Hola a todos, tengo un problema con el envio de correos en php, no los puedo enviar y no se q es lo q pasa , si alguien me podria aclarar q es lo q esta pasando y darme una solucion estaria muy agradecido. gracias.
Este es el codigo que utilizo:
$email="wramiro21@gmail.com";
$from="From: tk02_77_2@hotmail.com \r\n";
$mesg="Tu contraseña de CompartElinks ha sido cambiada a $password \r\n Por favor utilzalo la proxima vez q hagas el log in. \r\n";
email($email,"login informacion de CompartElinks",$mesg,$from)
Y este es el error que me sale:
Warning: mail() [function.mail]: SMTP server response: 550 5.7.1 Unable to relay for wramiro21@gmail.com in C:\AppServ\www\bookmarks\user_auth_fns.php on line 137
Tu contraseña no ha podido ser enviada a tu email.Prueba pulsando actualizar -
Lo estás probando en el AppServ, y muy probablemente no tengas conigurado el servidor SMTP, tratá de probarlo en un servidor de hosting o configura tu SMTP si no tenes :P.
Saludos!
PD: En tu código tenés un error.
$mesg="Tu contraseña de CompartElinks ha sido cambiada a $password \r\n Por favor utilzalo la proxima vez q hagas el log in. \r\n";
En esa línea, no se va a reemplazar la variable $password por el valor, ya que está encomillada. Cambiala por esto:
$mesg="Tu contraseña de CompartElinks ha sido cambiada a ".$password."\r\n Por favor utilzalo la proxima vez q hagas el log in. \r\n"; -
Lo del mail puede ser:
1. No configuraste el servidor SMTP.
2. Esta configurado un servidor en localhost y no tenes un servidor de mail corriendo.
3. Para usar algunos smtp, como el de gmail, se necesita una configuracion especial, no es poner la direccion nomas.
4. Otro error del que nose
Ahora gugui lo de las comillas no es error, php reemplaza las variables si uno las escribe entre "", las comillas textuales que no reemplazan son ''...
Entonces si tenes
$variable = 'algo';
echo "La variable dice $variable"
//imprime: La variable dice algo.
ahora si tenes
echo 'La variable dice $variable'
//imprime: La variable dice $variable ...
