Autor
|
Tema: mail() no me funciona, que estoy haciendo mal? (Leído 6,583 veces)
|
Drakaris
Desconectado
Mensajes: 286
Todo lo que puedas imaginar, lo puedes crear.
|
Hola tengo un formulario que al dar clic en Enviar tendría que enviar un correo a i****************@hotmail.com y no me envía ningún mensaje pero en cambio si me dice que se a enviado (un mensaje que yo puse). <?php $para = "i****************@hotmail.com"; $mensaje = $_POST['message']; $asunto = $_POST['Subject']; if(mail($para, $asunto, $mensaje)) { echo "Correo enviado con éxito"; }else{ echo "Lo sentimos, pero hubo un error al enviar el correo"; } ?>
|
|
|
En línea
|
Lo increible, no es lo que ves, sino como es
|
|
|
PalitroqueZ
Desconectado
Mensajes: 948
|
y desde el servidor en donde estás ejecutando el php ¿tienes la opción de enviar correos habilitado?
|
|
|
En línea
|
"La Economía planificada lleva de un modo gradual pero seguro a la economía dirigida, a la economía autoritaria y al totalitarismo" Ludwig Erhard
|
|
|
Drakaris
Desconectado
Mensajes: 286
Todo lo que puedas imaginar, lo puedes crear.
|
y desde el servidor en donde estás ejecutando el php ¿tienes la opción de enviar correos habilitado?
Me cree un cuenta de email en 260mb.net pero tampoco no sé si es así, es que no entiendo mucho de eso, y si vas a 260mb.net, en la página principal abajo te dice las características que tiene y te pone sendmail
|
|
|
En línea
|
Lo increible, no es lo que ves, sino como es
|
|
|
PalitroqueZ
Desconectado
Mensajes: 948
|
Me cree un cuenta de email en 260mb.net pero tampoco no sé si es así, es que no entiendo mucho de eso, y si vas a 260mb.net, en la página principal abajo te dice las características que tiene y te pone sendmail
no vas a poder hacer uso de envio de correos usando el servicio free en 260mb.net yo lo intenté por todas las vias y nunca pude lograrlo. Ellos tienen la opción bloqueada, tendrás que pagar o utilizar otro hosting que lo tengan habilitado.
|
|
|
En línea
|
"La Economía planificada lleva de un modo gradual pero seguro a la economía dirigida, a la economía autoritaria y al totalitarismo" Ludwig Erhard
|
|
|
animanegra
Desconectado
Mensajes: 287
|
la funcion mail hace uso del servidor smtp de tu ordenador. Si el servidor no tiene smtp pues no podrás hacer eso. Tienes que configurar el sendmail o exim3 para hacerlo.
Si quieres enviar correos yo tiraría de usa phpmailer.
|
|
|
En línea
|
42 No contesto mensajes por privado, si tienes alguna pregunta, consulta o petición plantéala en el foro para que se aproveche toda la comunidad.
|
|
|
Drakaris
Desconectado
Mensajes: 286
Todo lo que puedas imaginar, lo puedes crear.
|
la funcion mail hace uso del servidor smtp de tu ordenador. Si el servidor no tiene smtp pues no podrás hacer eso. Tienes que configurar el sendmail o exim3 para hacerlo.
Si quieres enviar correos yo tiraría de usa phpmailer.
Hola animanegra me dí cuenta, gracias por vuestras respuestas, de que phpmailer es mucho mejor, ¿Además se puede usar PHPMailer en un hosting gratuito como 260mb.net? Esque tengo un códgio PHPMailer, me descargué los archivos PHPMailer: https://github.com/PHPMailer/PHPMailer, y dentro el formulario y el enviaremail.php, el formulario lo tengo controloado, pero en enviaremail.php puse el siguiente código: <?php require 'PHPMailerAutoload.php'; require 'Constantes.php';
$mail = new PHPMailer(); /* Configuracion PHP Mailer */ $mail->isSMTP();
$mail->Host = 'smtp.gmail.com'; $mail->SMTPAuth = true; $mail->Username = 'email@g-t-e.260mb.net'; $mail->Password = '*********';
$mail->SMTPSecure = 'tls'; $mail->Port = 587;
/*============================================*/ /* Configuración del Correo a Enviar */ $mail->setFrom('email@g-t-e.260mb.net'); $mail->FromName = "1 ESO A"; $mail->AddAddress('q************@gmail.com'); $mail->Subject = $_POST['Subject']; $mail->Body = $_POST['message'];
if ($mail->send()) { echo "Correo enviado con éxito"; }else{ echo "Lo sentimos, no pudimos enviar el correo " . $mail->ErrorInfo; } ?>
Llamé a dos archivos, después puse el Host de gmail,smtp.gmail.com, ya que quiero enviar los email a un correo gmail, después puse el usuario de 260mb.net que me cree una cuenta, después la contraseña, puse seguridad tls y por el puerto 587. Después de hacer toda la configuración de PHPMailer, hice la configuración del correo, El setfrom('') es mi correo de 260mb.net, y le puse un nombre FromName, y le digo que el correo se lo envio a q************@gmail.com, el asunto, lo que hice es un $_POST que coja lo que ponga el cliente en la caja de texto "asunto" y lo mismo para el mensaje. Y finalmente pongo un if(), si se envia el correo me dirá correo enviado, sino me dirá que hubo problemas. El problema es que cuando lo ejecuto en 260mb.net me dice el mensaje de error (por lo menos funciona), y me dice lo siguiente: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting. ¿Que significa ese error? ¿estoy haciendo algo mal?¿Tengo que tener un SMTP en mi hosting?
Gracias
|
|
|
En línea
|
Lo increible, no es lo que ves, sino como es
|
|
|
Drakaris
Desconectado
Mensajes: 286
Todo lo que puedas imaginar, lo puedes crear.
|
Hola animanegra me dí cuenta, gracias por vuestras respuestas, de que phpmailer es mucho mejor, ¿Además se puede usar PHPMailer en un hosting gratuito como 260mb.net? Esque tengo un códgio PHPMailer, me descargué los archivos PHPMailer: https://github.com/PHPMailer/PHPMailer, y dentro el formulario y el enviaremail.php, el formulario lo tengo controloado, pero en enviaremail.php puse el siguiente código: <?php require 'PHPMailerAutoload.php'; require 'Constantes.php';
$mail = new PHPMailer(); /* Configuracion PHP Mailer */ $mail->isSMTP();
$mail->Host = 'smtp.gmail.com'; $mail->SMTPAuth = true; $mail->Username = 'email@g-t-e.260mb.net'; $mail->Password = '*********';
$mail->SMTPSecure = 'tls'; $mail->Port = 587;
/*============================================*/ /* Configuración del Correo a Enviar */ $mail->setFrom('email@g-t-e.260mb.net'); $mail->FromName = "1 ESO A"; $mail->AddAddress('q************@gmail.com'); $mail->Subject = $_POST['Subject']; $mail->Body = $_POST['message'];
if ($mail->send()) { echo "Correo enviado con éxito"; }else{ echo "Lo sentimos, no pudimos enviar el correo " . $mail->ErrorInfo; } ?>
Llamé a dos archivos, después puse el Host de gmail,smtp.gmail.com, ya que quiero enviar los email a un correo gmail, después puse el usuario de 260mb.net que me cree una cuenta, después la contraseña, puse seguridad tls y por el puerto 587. Después de hacer toda la configuración de PHPMailer, hice la configuración del correo, El setfrom('') es mi correo de 260mb.net, y le puse un nombre FromName, y le digo que el correo se lo envio a q************@gmail.com, el asunto, lo que hice es un $_POST que coja lo que ponga el cliente en la caja de texto "asunto" y lo mismo para el mensaje. Y finalmente pongo un if(), si se envia el correo me dirá correo enviado, sino me dirá que hubo problemas. El problema es que cuando lo ejecuto en 260mb.net me dice el mensaje de error (por lo menos funciona), y me dice lo siguiente: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting. ¿Que significa ese error? ¿estoy haciendo algo mal?¿Tengo que tener un SMTP en mi hosting?
Gracias Hola me registre en Roundcude Webmail en cpanel de 260mb.net, va todo bien pero no sé host es Webmail ¿o es el host de 260mb.net? y el puerto, no lo sé, como puedo saber que puertos están abiertos en una pagina web con cmd? Porque lo otro esta bien
|
|
|
En línea
|
Lo increible, no es lo que ves, sino como es
|
|
|
engel lex
|
eso no se hace por fuerza bruta... eso te lo dice el host, lee la documentación
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
Drakaris
Desconectado
Mensajes: 286
Todo lo que puedas imaginar, lo puedes crear.
|
eso no se hace por fuerza bruta... eso te lo dice el host, lee la documentación
Y donde tengo que ir del cpanel para ver la documentación?
|
|
|
En línea
|
Lo increible, no es lo que ves, sino como es
|
|
|
engel lex
|
no se XD no tiene una sección de documentacion, ayuda, faqs o similar? eres tu quien usa el servicio XD
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
|
|