Documente Academic
Documente Profesional
Documente Cultură
Contents
Introducción
Lo que necesitarás
Conclusión
Introducción
En este tutorial aprenderemos sobre el PHP mail y cómo usarlo. También te mostraremos cómo
con gurar y usar PHPMailer, una popular biblioteca de envío de correo.
https://www.hostinger.com.ar/tutoriales/enviar-emails-usando-php-mail/ 1/15
9/4/2018 Cómo enviar emails usando PHP mail
En general, el correo electrónico es una parte integral de cualquier proyecto o negocio. Hoy en día, ser
rápido y receptivo es un gran valor, especialmente cuando se trata de responder a tus clientes. En
muchos casos, la capacidad de respuesta y la comunicación bien plani cada es el factor decisivo que los
usuarios toman en consideración al hacer compras.
Aunque existen muchas maneras de enviar correos, veremos especí camente el correo de PHP mail. En
esencia, puedes enviar correos electrónicos a través de PHP de dos maneras:
¡Veamos cómo funciona cada una y cómo podemos usarlas para enviar correos electrónicos!
Lo que necesitarás
Antes de comenzar con esta guía, necesitarás lo siguiente:
https://www.hostinger.com.ar/tutoriales/enviar-emails-usando-php-mail/ 2/15
9/4/2018 Cómo enviar emails usando PHP mail
El servicio sendmail está habilitado por defecto. Pero en caso de que no lo esté, puedes hacerlo con solo
unos par de clics.
https://www.hostinger.com.ar/tutoriales/enviar-emails-usando-php-mail/ 3/15
9/4/2018 Cómo enviar emails usando PHP mail
1. <?php
2. ini_set( 'display_errors', 1 );
3. error_reporting( E_ALL );
4. $from = "test@hostinger-tutorials.com";
5. $to = "test@gmail.com";
6. $subject = "Checking PHP mail";
7. $message = "PHP mail works just fine";
8. $headers = "From:" . $from;
9. mail($to,$subject,$message, $headers);
10. echo "The email message was sent.";
11. );
Las primeras dos líneas habilitan el informe de errores. Esto permitirá la ayuda en caso de que el script
no se ejecute. El resto de los ingredientes son:
https://www.hostinger.com.ar/tutoriales/enviar-emails-usando-php-mail/ 4/15
9/4/2018 Cómo enviar emails usando PHP mail
mail
Esta es la función que ejecuta el correo PHP.
($to,$subject,$message,$headers)
Para obtener más información sobre sendmail y sus componentes, puedes consultar la documentación
o cial de PHP.
Aquí hay un ejemplo del correo PHP recibido usando el código anterior:
https://www.hostinger.com.ar/tutoriales/enviar-emails-usando-php-mail/ 5/15
9/4/2018 Cómo enviar emails usando PHP mail
¡Felicitaciones! Ahora comprendes la sintaxis básica del correo PHP y puedes usarla para enviar
mensajes.
Cuando hayas terminado, toma tus datos SMTP ubicados en la misma sección:
https://www.hostinger.com.ar/tutoriales/enviar-emails-usando-php-mail/ 6/15
9/4/2018 Cómo enviar emails usando PHP mail
1. Nombre de usuario
3. Host SMTP
4. Puerto SMTP
1. cd public_html
Y luego ejecuta:
1. <?php
2. use PHPMailer\PHPMailer\PHPMailer;
3. require '../vendor/autoload.php';
4. $mail = new PHPMailer;
5. $mail->isSMTP();
https://www.hostinger.com.ar/tutoriales/enviar-emails-usando-php-mail/ 7/15
9/4/2018 Cómo enviar emails usando PHP mail
6. $mail->SMTPDebug = 2;
7. $mail->Host = 'mx1.hostinger.com';
8. $mail->Port = 587;
9. $mail->SMTPAuth = true;
10. $mail->Username = 'test@hostinger-tutorials.com';
11. $mail->Password = 'EMAIL_ACCOUNT_PASSWORD';
12. $mail->setFrom('test@hostinger-tutorials.com', 'Your Name');
13. $mail->addReplyTo('reply-box@hostinger-tutorials.com', 'Your Name');
14. $mail->addAddress('example@gmail.com', 'Receiver Name');
15. $mail->Subject = 'PHPMailer SMTP message';
16. $mail->msgHTML(file_get_contents('message.html'), __DIR__);
17. $mail->AltBody = 'This is a plain text message body';
18. $mail->addAttachment('test.txt');
19. if (!$mail->send()) {
20. echo 'Mailer Error: ' . $mail->ErrorInfo;
21. } else {
22. echo 'Message sent!';
23. }
use PHPMailer\PHPMailer\PHPMailer;
require ‘../vendor/autoload.php’;
$mail->
Todas estas variables contienen información vital, como detalles del servidor, encabezados, mensajes,
archivos adjuntos y más. En resumen, se aseguran de que el remitente sea legítimo con la autenticación
SMTP.
if (!$mail->send()) {
else
https://www.hostinger.com.ar/tutoriales/enviar-emails-usando-php-mail/ 8/15
9/4/2018 Cómo enviar emails usando PHP mail
Tip profesional: la línea SMTPDebug = 2; es útil al probar el script y ver cómo funciona.
Déjalo como SMTPDebug = 0; en la versión nal para evitar que el usuario nal vea el informe
de entrega de SMTP.
Si revisaste todo el código, notarás que estamos haciendo algo un poco diferente que en el primer
ejemplo. Estamos enviando un mensaje HTML. Su contenido se tomará del archivo message.html
ubicado en el mismo directorio. Esto te permite formatear el texto y proporciona una mayor
funcionalidad en comparación con los mensajes de texto sin formato.
phpmailer-smtp-mensaje-de-ejemplo-1
https://www.hostinger.com.ar/tutoriales/enviar-emails-usando-php-mail/ 9/15
9/4/2018 Cómo enviar emails usando PHP mail
Observa cómo se formateó el texto esta vez, ya que usamos HTML en lugar de texto sin formato.
Además, pudimos agregar un archivo adjunto.
1. <?php
2. use PHPMailer\PHPMailer\PHPMailer;
3. require '../vendor/autoload.php';
4. $mail = new PHPMailer;
5. $mail->isSMTP();
6. $mail->Host = 'mx1.hostinger.com';
7. $mail->Port = 587;
8. $mail->SMTPAuth = true;
9. $mail->Username = 'test@hostinger-tutorials.com';
10. $mail->Password = 'EMAIL_ACCOUNT_PASSWORD';
11. $mail->setFrom('test@hostinger-tutorials.com', 'Mr. Drago');
12. $mail->addAddress('example@gmail.com', 'Receiver Name');
13. if ($mail->addReplyTo($_POST['email'], $_POST['name'])) {
14. $mail->Subject = 'PHPMailer contact form';
15. $mail->isHTML(false);
16. $mail->Body = <<<EOT
17. Email: {$_POST['email']}
18. Name: {$_POST['name']}
19. Message: {$_POST['message']}
20. EOT;
21. if (!$mail->send()) {
22. $msg = 'Sorry, something went wrong. Please try again
later.';
23. } else {
24. $msg = 'Message sent! Thanks for contacting us.';
25. }
26. } else {
27. $msg = 'Invalid email address, message ignored.';
28. }
29. ?>
30. <!DOCTYPE html>
31. <html lang="en">
32. <head>
33. <meta charset="UTF-8">
34. <title>Contact form</title>
35. </head>
36. <body>
37. <h1>Let's get in touch!</h1>
38. <?php if (!empty($msg)) {
https://www.hostinger.com.ar/tutoriales/enviar-emails-usando-php-mail/ 10/15
9/4/2018 Cómo enviar emails usando PHP mail
https://www.hostinger.com.ar/tutoriales/enviar-emails-usando-php-mail/ 11/15
9/4/2018 Cómo enviar emails usando PHP mail
Cuando el usuario envíe su mensaje, recibirá una con rmación y el contenido llegará al buzón del correo
electrónico ingresado en el campo addAddress.
PHPMailer ofrece ejemplos adicionales que puedes probar en su repositorio o cial de GitHub. Además,
si usas WordPress, puedes crear fácilmente un formulario de contacto con la ayuda de plugins.
El encabezado from usa una dirección de correo electrónico que no existe o que no posees.
Asegúrate de usar detalles de autenticación SMTP válidos.
Asunto engañoso. Algunos ejemplos serían “Prueba“; “Hola“; “Pruebas“; “Urgente” o algo similar.
Asegúrate de establecer una intención clara en el asunto del mensaje.
https://www.hostinger.com.ar/tutoriales/enviar-emails-usando-php-mail/ 12/15
9/4/2018 Cómo enviar emails usando PHP mail
Los encabezados from incorrectos a menudo causan esto. Es una medida de seguridad para evitar
falsi caciones y estafas por correo electrónico.
Usaste palabras consideradas como spam. Esta categoría incluiría frases como “gran oferta“; “haga
clic aquí“; “promoción especial“; “Esto no es spam” y similares. Intenta cambiar el contenido de tu
mensaje para ver si ese es el caso.
Tu lista de correo no tiene un botón para darse de baja. Si su cientes personas reportan tus correos
como spam, entonces esto es inevitable. Tener un botón para darse de baja es una buena forma de
evitar esto.
Conclusión
¡Felicitaciones! Ahora estás familiarizado con PHP mail y puedes usar PHPMailer para enviar correos
electrónicos con autenticación SMTP. Aunque este tutorial proporciona ejemplos básicos, la misma
sintaxis se puede utilizar para desarrollar un formulario de contacto u otras extensiones para tu sitio
web. Para obtener información más detallada, asegúrate de consultar el proyecto o cial de PHPMailer.
¿Tienes algún consejo, trucos o ideas para compartir? ¡Estamos ansiosos por escucharlos en los
comentarios a continuación!
Comentario
Nombre *
Correo Electrónico *
Sitio Web
https://www.hostinger.com.ar/tutoriales/enviar-emails-usando-php-mail/ 13/15
9/4/2018 Cómo enviar emails usando PHP mail
PUBLICAR UN COMENTARIO
Suscribirme
AR$ 00
https://www.hostinger.com.ar/tutoriales/enviar-emails-usando-php-mail/ 14/15
36
9/4/2018 Cómo enviar emails usando PHP mail
/mes
Comienza Ahora
https://www.hostinger.com.ar/tutoriales/enviar-emails-usando-php-mail/ 15/15