Función mail() de PHP
Definición y uso
La función mail() permite enviar correos electrónicos directamente desde el script.
Si la entrega del correo se recibe con éxito, se devuelve true, de lo contrario, se devuelve false.
Sintaxis
mail(destinatario,asunto,message,encabezados,parámetros)
Parámetros | Descripción |
---|---|
destinatario | Obligatorio. Especifica el destinatario del correo. |
asunto | Obligatorio. Especifica el asunto del correo. Este parámetro no puede contener caracteres de nueva línea. |
message | Obligatorio. Especifica el mensaje que se enviará. |
encabezados | Obligatorio. Especifica encabezados adicionales, como From, Cc y Bcc. |
parámetros | Obligatorio. Especifica los parámetros adicionales del programa sendmail. |
Descripción
en message En los mensajes especificados por los parámetros, las líneas deben estar separadas por un LF (\n). Cada línea no puede superar los 70 caracteres.
(En Windows) Cuando PHP se conecta directamente al servidor SMTP, si se encuentra un punto en el inicio de una línea, se eliminará. Para evitar este problema, reemplace el punto con dos puntos.
<?php $text = str_replace("\n.", "\n..", $text); ?>
Sugerencias y comentarios
Comentarios:Recuerde, que la aceptación de la entrega del correo no significa que haya llegado a su destino planeado.
Ejemplo
Ejemplo 1
Enviar un correo electrónico simple:
<?php $txt = "Primera línea de texto\nSegunda línea de texto"; // Si una línea es mayor de 70 caracteres, utilice wordwrap(). $txt = wordwrap($txt,70); // Enviar correo mail("somebody@example.com","My subject",$txt); ?>
Ejemplo 2
Enviar un correo electrónico con encabezados adicionales:
<?php $to = "somebody@example.com"; $subject = "My subject"; $txt = "Hello world!"; $headers = "From: webmaster@example.com" . "\r\n" . "CC: somebodyelse@example.com"; mail($to,$subject,$txt,$headers); ?>
Ejemplo 3
Enviar un correo electrónico HTML:
<?php $to = "somebody@example.com, somebodyelse@example.com"; $subject = "Correo electrónico HTML"; $message = " <html> <head> <title>Correo electrónico HTML</title> </head> <body> <p>Este correo electrónico contiene etiquetas HTML!</p> <table> <tr> <th>Nombre</th> <th>Apellido</th> </tr> <tr> <td>Bill</td> <td>Gates</td> </tr> </table> </body> </html> "; // Siempre configure content-type al enviar correos electrónicos HTML $headers = "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n"; // Más encabezados $headers .= 'From: <webmaster@example.com>' . "\r\n"; $headers .= 'Cc: myboss@example.com' . "\r\n"; mail($to,$subject,$message,$headers); ?>