Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: jose1996vs en 11 de Abril 2017, 13:07
-
Hola, quiero enviar un email usando PHP, el problema es que no recibo el mail, es decir, el envío se hace correctamente (supuestamente), pero no recibo ningún mail. Estoy probando con el código más básico:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'On');
$para = 'micorreopersonal@hotmail.com';
$titulo = 'El título';
$mensaje = 'Hola';
$cabeceras = 'From: micorreopersonal@hotmail.com' . "\r\n" .
'Reply-To: blablabla@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail('$para', '$titulo', '$mensaje', '$cabeceras');
if (mail) {
echo "Éxito";
} else {
echo "No se ha podido enviar";
}
Para ahorrar tiempo, les digo estas cosas:
- No me llega el mail a ningún sitio de mi correo, ni a spam ni nada.
- He buscado en mil sitios por internet y lo único que he encontrado ha sido que tengo que instalar un servidor SMTP (eso lo dicen algunos), otros no hablan nada de eso. También he encontrado que tengo que modificar algo en el archivo php.ini, en [mail_function], he modificado esto que pongo aquí, sin embargo no ha cambiado nada.
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25
; For Win32 only.
sendmail_from = micorreopersonal@hotmail.com
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = sendmail -t -i
- Sobre mis condiciones: Trabajo en MAC, con un servidor local MAMMP.
-Al activar el error-reporting, el error que me aparece es: Notice: Use of undefined constant mail - assumed 'mail' in /Users/ubicacion del servidor/borradorPHP.php on line 13
- Al meterme en el archivo, aparte de ese error, me aparece 'Éxito´, así que como pueden ver, supuestamente se envía el mail.
Conclusión: O bien he modificado mal el archivo php.ini, o bien es algo del SMTP, o bien no sé qué puede pasar.
MUCHAS GRACIAS por adelantado, agradezco cualquier respuesta por pequeña que sea, y un saludo
-
Hola,
Me autorespondo con la solución por si alguien alguna vez tiene este problema. En MAMP, para enviar un correo:
1. meterse en el archivo php.ini
2. Ir a [mail function] y hacer exactamente esto:
[mail function]
; For Win32 only.
;SMTP = localhost
;smtp_port = 25
; For Win32 only.
;sendmail_from = postmaster@localhost
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = "/usr/sbin/sendmail -t -i correodesdedondeseenvia@undominio(gmail/hotmail...).com"
lo de poner un correo desde donde se envía creo que no hace falta, pero bueno, por si acaso. Lo que no he conseguido es que funcione en todos los dominios, es decir, no llega el correo enviado a una cuenta hotmail, aunque sí llega a yahoo o gmail por ejemplo. Pero para empezar está más que bien.