.

.

Enviar correos con PHP

viernes, 1 de noviembre de 2013

Como enviar correos con PHP


Para el envío de correos electrónicos utilizando PHP disponemos de una función bastante potente, incluida en todas las versiones de PHP, sin necesidad de instalar ningún añadido.
En concreto, en PHP disponemos de una función llamada mail() que permite configurar y enviar el mensaje de correo. Esta  recibe tres parámetros de manera obligada y otros dos parámetros que podemos colocar opcionalmente. Devuelve true si se envió el mensaje correctamente y false en caso contrario. 

Parámetros necesarios en todos los casos

Destinatario: la dirección de correo o direcciones de correo que han de recibir el mensaje. Si incluimos varias direcciones debemos separarlas por una coma.

Asunto: para indicar una cadena de caracteres que queremos que sea el asunto del correo electrónico a enviar.

Cuerpo: el cuerpo del mensaje, lo que queremos que tenga escrito el correo.

Ejemplo de envío de un mail sencillo


mail(" pepito@desarrolloweb.commaria@guiartemultimedia.com","Asunto Del Mail","Este es el cuerpo del mensaje")


Parámetros opcionales del envío de correo

Headers: Cabeceras del correo. Datos como la dirección de respuesta, las posibles direcciones que recibirán copia del mensaje, las direcciones que recibirán copia oculta, si el correo está en formato HTML, etc.

Additional_parameters: esta opción no suele utilizarse y, además, sólo está disponible a partir de la versión PHP 4.0.5 y desde PHP 4.2.3 está deshabilitado en modo seguro. Puede usarse para pasar parámetros adicionales al programa configurado para enviar el correo, cuando se manda el mail usando la opción de configuración sendmail_path. Podemos obtener más información en la documentación de PHP para la función mail().

Nota: Antes de poner en marcha el script en el servidor, por favor, cambiar los datos de configuración de las direcciones de correo que van a recibir el mensaje y colocar unas direcciones que sean validas y donde puedas comprobar que los mensajes se envían correctamente.
Ejemplo complejo de envío de correo 

<?
$p_accion=$_POST['accion'];
if($p_accion=="enviar"):
                $asunto=utf8_decode($_POST['asunto']);
                $profesor=utf8_decode($_POST['profesor']);
                $celular=utf8_decode($_POST['celular']);
                $modulo=utf8_decode($_POST['modulo']);
                $mensajeCuerpo=utf8_decode($_POST['mensaje']);

                               $destinatario = "franco_rom@live.com.mx";
                               $asunto = "EJEMPLO DE CORREO PHP";
                                              
                               $cuerpo='
                               <html>
                                               <head>
                                                               <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                                               </head>
                                               <body>
                                               <table cellpadding="3" cellspacing="0" width="100%"><tr><td width="12%">Nombre:</td><td width="88%"><strong>'.$profesor.'</strong></td></tr>
                                               <tr><td>Celular:</td><td><strong>'.$celular.'</strong></td></tr>
                               <tr><td>Asunto:</td><td><strong>'.$asunto.'</strong></td></tr>
                               <tr>
                                                               <td>Modulo:</td><td><strong>'.$modulo.'</strong></td>
                                               </tr>
                                               <tr>
                                                               <td>Mensaje:</td><td><strong>'.$mensajeCuerpo.'</strong></td>
                                               </tr>
                                              
                               </table>
                               </body>
                               </html>';
                              
                               $headers = "MIME-Version: 1.0\r\n";
                               $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
                              
                               //Dirección del remitente
                               $headers .= "From: Soporte SigloXXI < franco_rom@live.com.mx>\r\n";
                              
                               //Dirección de respuesta (Puede ser una diferente a la de pepito@mydomain.com)
                               $headers .= "Reply-To: franco_rom@live.com.mx\r\n";
                              
                               //Ruta del mensaje desde origen a destino
                               $headers .= "Return-path: franco_rom@live.com.mx\r\n";
                              
                               //direcciones que recibián copia
                               $headers .= "Cc: franco_rom@live.com.mx\r\n";
                              
                               //Direcciones que recibirán copia oculta
                               //$headers .= "Bcc: pepe@pepe.com, juan@juan.com\r\n";
                              
                               mail($destinatario,$asunto,$cuerpo,$headers);

                               if(!empty($cuerpo)):
                               ?>
                                               <script type="text/javascript">
                                               alert("Muy pronto nos pondremos en contacto con usted");
                                               top.location.href="http://localhost/correophp.php";
                                               </script>
            <?
                               else:
                                               ?>
                                               <script type="text/javascript">
                                               alert("Hubo un problema al enviar su mensaje. Intente de nuevo");
                                               top.location.href="http://localhost/correophp.php";
                                               </script>
            <?
                               endif;
               
endif;
?>
<html>
<head>
<title>Ejemplos PHP Franco </title>
</head>
<body>

                                    <form name="form_correo" method="post" action="correophp.php" enctype="multipart/form-data">
                                      <table width="100%" border="0" align="left" cellpadding="0" cellspacing="0">
                                       
                                        <tr>
                                          <td width="10%" align="left" valign="top" class="titulo9">Asunto:</td>
                                          <td width="90%" align="left" valign="top"><label for="asunto"></label>
                                            <input name="asunto" type="text" id="asunto" size="95" maxlength="300" value="" /></td>
                                        </tr>
                                        <tr>
                                          <td align="left" valign="top" class="titulo9">Nombre:</td>
                                          <td align="left" valign="top"><label for="profesor"></label>
                                            <input name="profesor" type="text" id="profesor" size="95" maxlength="300" value="" /></td>
                                        </tr>
                                        <tr>
                                          <td align="left" valign="top" class="titulo9">Celular:</td>
                                          <td align="left" valign="top"><label for="asunto3"></label>
                                            <input name="celular" type="text" id="asunto3" size="95" maxlength="300" value="" /></td>
                                        </tr>
                                        <tr>
                                          <td align="left" valign="top" class="titulo9">Modulo:</td>
                                          <td align="left" valign="top"><label for="asunto4"></label>
                                            <input name="modulo" type="text" id="asunto4" size="95" maxlength="300" value="" /></td>
                                        </tr>
                                        <tr>
                                          <td align="left" valign="top" class="titulo9">Mensaje:</td>
                                          <td align="left" valign="top">
                                            <textarea name="mensaje" id="mensaje" cols="85" rows="7"></textarea></td>
                                          </tr>
                                        <tr>
                                          <td align="left" valign="top"><input name="accion" type="hidden" id="accion" value="enviar" /></td>
                                          <td align="left" valign="top"><table width="60%" border="0" cellspacing="0" cellpadding="0">
                                            <tr>
                                              <td width="19%"><input onClick="adjunto()" name="input" id="input" type="submit" value="Enviar Correo" ></td>
                                              <td width="81%"></td>
                                            </tr>
                                          </table></td>
                                          </tr>
                                        </table>
                                      </form>
                                   
</body>
</html>

No hay comentarios.:

Publicar un comentario

 

Franco

Franco

En Linea

Num. Visitas

Visitas

Buscador en PHPejercicios