Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Drakaris en 26 Julio 2017, 20:08 pm



Título: mail() no me funciona, que estoy haciendo mal?
Publicado por: Drakaris en 26 Julio 2017, 20:08 pm
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).

Código:
<?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";
 }
?>


Título: Re: mail() no me funciona, que estoy haciendo mal?
Publicado por: PalitroqueZ en 26 Julio 2017, 20:11 pm
y desde el servidor en donde estás ejecutando el php ¿tienes la opción de enviar correos habilitado?



Título: Re: mail() no me funciona, que estoy haciendo mal?
Publicado por: Drakaris en 26 Julio 2017, 20:18 pm
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


Título: Re: mail() no me funciona, que estoy haciendo mal?
Publicado por: PalitroqueZ en 27 Julio 2017, 14:01 pm
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.



Título: Re: mail() no me funciona, que estoy haciendo mal?
Publicado por: animanegra en 27 Julio 2017, 14:07 pm
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.


Título: Re: mail() no me funciona, que estoy haciendo mal?
Publicado por: Drakaris en 28 Julio 2017, 13:17 pm
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 (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:

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


Título: Re: mail() no me funciona, que estoy haciendo mal?
Publicado por: Drakaris en 28 Julio 2017, 17:43 pm
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 (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:

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


Título: Re: mail() no me funciona, que estoy haciendo mal?
Publicado por: engel lex en 28 Julio 2017, 17:47 pm
eso no se hace por fuerza bruta... eso te lo dice el host, lee la documentación


Título: Re: mail() no me funciona, que estoy haciendo mal?
Publicado por: Drakaris en 28 Julio 2017, 19:19 pm
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?


Título: Re: mail() no me funciona, que estoy haciendo mal?
Publicado por: engel lex en 28 Julio 2017, 19:22 pm
no se XD no tiene una sección de documentacion, ayuda, faqs o similar? eres tu quien usa el servicio XD


Título: Re: mail() no me funciona, que estoy haciendo mal?
Publicado por: PalitroqueZ en 28 Julio 2017, 19:32 pm
cada proveedor de alojamiento ofrece una cosa que se llama cpanel

cpanel es una interfaz que tiene un poco de iconos lindos que hace una función determinada respecto a la configuración de los accesos, permisos y status de servicio que ofrece para despachar peticiones a la ip o el dominio que apunta.

también existe un invento llamado soporte técnico.

 :rolleyes: :rolleyes: :rolleyes:


Título: Re: mail() no me funciona, que estoy haciendo mal?
Publicado por: Drakaris en 29 Julio 2017, 13:54 pm
no se XD no tiene una sección de documentacion, ayuda, faqs o similar? eres tu quien usa el servicio XD

Hola, me sigue poniendo el error del host, y pongo mi host [260mb.net], no entiendo que pasa, probé con todo, en el host pero no me funciona,.

¿En teoría se puede usar PHPMailer en 260mb.net?

Gracias