Funcio Mail y su misterio
Me ha pasado en varios hosting que la clasica funcion de Mail() de PHP esta bloqueado por razones de seguridad. Lo cual no significa que la funcion Mail() hayan dejado de dar soporte al contrario esta misma continua en vigencia para posteriores versiones. Mas informacion : http://php.net/manual/es/function.mail.phpAca podemos ver que Mail tiene soporte de PHP 4 hasta PHP 7 |
Entonces ¿ por que los hosting lo bloquean ?
La función "mail()" de php es fácilmente manipulada por hackers para el envío masivo de emails o tambien para generar SPAM. Lo cual repercute negativamente en la reputación de la IP del servidor y afecta en forma directa nuestro dominio. Algo contradictorio por si es inseguro ¿ por que la gente de PHP le sigue dando soporte ? . Bueno Supongo que en algun momento diran algo al respecto.Solución : Envió de email con SMTP y libreria PHPMailer
Primero debemos descarga la libreria PHPMailer que es libre https://github.com/PHPMailer/PHPMailer y lo subimos a nuestro hosting.
Luego creamos un email en nuestro Hosting , un ejemplo podría ser contactoweb@nuestro_dominio.com. Para crear un email se hace a través de nuestro panel de administracion Ferozo o Cpanel.
Cpanel : Crear email |
En nuestro código PHP debemos escribir lo siguiente :
$subject = 'mi asunto';
$body= '<body>Hola </br>Mundo</body>';
require("carpeta_phpmailer/class.phpmailer.php");
require("carpeta_phpmailer/class.smtp.php");
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->IsHTML(true);
$mail->CharSet = 'UTF-8';
$mail->Host = "mail.nuestro_dominio.com";
$mail->SMTPAuth = true;
$mail->Port = 26;
$mail->Username = "contactoweb@nuestro_dominio.com";
$mail->Password = "password_de_email";
$mail->From = "contactoweb@nuestro_dominio.com";
$mail->FromName = "Contacto Web";
$mail->AddAddress('operador@nuestro_dominio.com','supervisor@nuestro_dominio.com');
$mail->Subject = $subject;
$mail->Body = $body;
$exito = $mail->Send();
Datos requeridos para SMTP :
- SMTPAuth ( casi siempre va TRUE por que la mayoría exigen "autentificación" )
- Host (servidor saliente)
- Port (puerto SMTP)
- Username ( nombre de usuario)
- Password ( contraseña )
Cpanel : Configuración del cliente de correo. Muestran los datos requeridos |
No hay comentarios:
Publicar un comentario