English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este tutorial, aprenderás a usar la función mail() de PHP para enviar correos electrónicos de texto o HTML directamente desde un script.
Enviar mensajes de correo electrónico es muy común en aplicaciones web, como enviar correos electrónicos de bienvenida cuando los usuarios crean una cuenta en tu sitio web, enviar boletines informativos a tus usuarios registrados, obtener retroalimentación o comentarios de los usuarios a través de un formulario de contacto en el sitio web, etc.
Puedes usar la función integrada mail() de PHP para crear y enviar mensajes de correo electrónico en formato de texto o HTML dinámicamente desde una aplicación PHP. La sintaxis básica de esta función se puede expresar de la siguiente manera:
mail(to, subject, message, headers, parameters)
La siguiente tabla resume los parámetros de esta función.
Parámetros | Descripción |
---|---|
Obligatorio - Los siguientes parámetros son obligatorios | |
a | Dirección de correo electrónico del destinatario. |
asunto | El asunto del correo electrónico que se enviará. Este parámetro, es decir, la línea de asunto, no puede contener ningún retorno de carro (\n). |
mensaje | Define el mensaje que se enviará. Cada línea debe estar separada por un retorno de carro LF (\n). El número de líneas no puede superar70 caracteres. |
Opcional - Los siguientes parámetros son opcionales | |
encabezados | Generalmente se utiliza para agregar encabezados adicionales, como 'Remitente', 'CC', 'OCO'. Los encabezados adicionales deben estar separados por un retorno de carro y una nueva línea CRLF (\r\n). |
parámetros | Para pasar otros parámetros. |
El método más simple de enviar un correo electrónico con PHP es enviar un correo electrónico de texto. En el siguiente ejemplo, primero declaramos las variables-Dirección de correo electrónico del destinatario, línea de asunto y cuerpo del correo-Luego, pasa estos variables a la función mail() para enviar un correo electrónico.
<?php $to = '[email protected]'; $subject = 'Pedida de mano'; '$message = 'Hola, Jian, ¿te gustaría casarte conmigo?'; $from = '[email protected]'; //Enviar correo if(mail($to, $subject, $message)){ echo 'Su correo electrónico se ha enviado con éxito.'; } else { echo 'No se pudo enviar el correo electrónico. Por favor, inténtelo de nuevo.'; } ?>
Al enviar un mensaje de texto con PHP, todo el contenido se considerará texto simple. Mejoraremos esta salida y convertiremos el correo electrónico en un correo electrónico en formato HTML.
El proceso será el mismo al enviar un correo electrónico de texto con PHP. Sin embargo, esta vez, necesitamos proporcionar otros encabezados y un mensaje en formato HTML.
<?php $to = '[email protected]'; $subject = 'Pedida de mano'; $from = '[email protected]'; //Para enviar un correo electrónico HTML, debe configurar el contenido-type cabecera $headers = 'MIME-Versión: 1.0' . "\r\n"; $headers .= 'Content-tipo: texto/html; charset=iso-8859-1' . "\r\n"; //Crear el asunto del correo electrónico $headers .= 'From: $from."\r\n". Responder-Para: $from."\r\n" . 'X-Remitente: PHP/' . phpversion(); //Escribir un correo electrónico HTML simple $message = '<html>'; $message .= '<h1 estilo="color:#f40;">¡Hola, Jane! </h1"> $message .= '<p style="color:#080;font-tamaño:18px;">¿Te casarás conmigo?</p>'; $message .= '</html>'; //Enviar correo electrónico if(mail($to, $subject, $message, $headers)){ echo 'Su correo electrónico se ha enviado con éxito.'; } else { echo 'No se pudo enviar el correo electrónico. Por favor, inténtelo de nuevo.'; } ?>
Atención:La función PHP mail() es parte del núcleo de PHP, pero necesita configurar un servidor de correo en su computadora para que funcione realmente.
En los siguientes dos capítulos (Manejo de formularios PHPyValidación de formularios PHPEn este artículo, aprenderá cómo implementar un formulario interactivo de contacto en su sitio web para recibir comentarios y retroalimentación de los usuarios mediante correo electrónico utilizando esta función de envío de correo electrónico de PHP.