Hoy vamos a enviar un email desde PHP.
Lo primero que vamos a hacer es realizar los cambios necesarios en el php.ini
Vamos a buscar donde dice:
[mail function]
; For Win32 only.
SMTP = localhost //aquí vamos a quitar el ; y vamos a poner el nombre del servidor de salida.
; For Win32 only.
sendmail_from = mi_email@localhost.com //aquí vamos a poner la dirección desde la que queremos
//enviar el correo, podemos fijarla también en las cabeceras
//como verás en el ejemplo.
Importante: Reiniciar el servicio de Apache después de realizar el cambio para que funcione.
Ahora vamos al código
Para enviar email php tiene la función: mail($destino,$asunto,$mensaje,$cabeceras) que permite enviar texto simple sin formato o en formato html, también se pueden enviar adjuntos, lo vamos a ver en la próxima entrada del blog.
Mejor mostramos un ejemplo para que quede más claro
Vamos a definir las cabeceras
//aqui defino para poder utilizar caracteres especiales y enviar texto html
$cabeceras = 'MIME-Version: 1.0' . "\r\n";
$cabeceras .= 'Content-type: text/html; charset=ISO-8859-1' . "\r\n";
$cabeceras .= 'From: Grupo de Operaciones <yeny@ejemplo.com>' . "\r\n";
Ahora las variables $destino,$asunto y $mensaje las puedo recoger por un formulario o definirlas directamente en el código, según lo necesite.
El cuerpo del correo lo recojo en la variable $mensaje.
Si solo quiero enviar texto simple basta con asignar la cadena de texto a la variable mensaje, por ejemplo:
$mensaje ="este es mi menssaje";
//o si lo recojo por formulario
$mensaje =$_REQUEST["texto"];//donde texto es el nombre que asignamos en el formulatio al
//textbox donde se introduce el texto.
Ahora, si quiero enviar texto con formato html debo pasar en la variable mensaje todos los tags de mi página html.
Un ejemplo sería.
$mensaje .= " <tr>";
$mensaje .= "<td width=\"621\" class=\"letra_negrita\">";
$mensaje .= "<div align=\"center\">";
$mensaje .= " Titulo de mi página ";
$mensaje .= "</div>";
$mensaje .= "</td>";
$mensaje .= "</tr>";
$mensaje .= " <tr>";
$mensaje .= "<td width=\"621\" class=\"letra_normal_verde_claro\">";
$mensaje .= "<div align=\"center\">";
$mensaje .= " Texto blablabla....."; //aqui puedo incluir resultados de consultas ect.
$mensaje .= "</div>";
$mensaje .= "</td>";
$mensaje .= "</tr>";
Para incluir en el cuerpo del correo resultados de consultas solo introduzco en la cadena mensaje las variables que quiero mostrar, no la consulta en sí.
Un ejemplo:
//aquí recojo las variables del formulario y realizo la consulta
$mes = $_REQUEST["mes"];
$anno = $_REQUEST["anno"];
$resultf = mysql_query("select meses.Mes, anno.anno from anno, meses
where (meses.CodMes='$mes') and (anno.codanno='$anno')",$conexion);
$fecha = mysql_fetch_object($resultf);
$mensaje .= " <tr>";
$mensaje .= "<td width=\"621\" class=\"letra_normal_verde_claro_negrita\">";
$mensaje .= "<div align=\"center\">";
$mensaje .= "$fecha->Mes/$fecha->anno"; //Aquí muestro en el cuerpo del email el resultado de la
// que me interesa de la consulta.
$mensaje .= "</div>";
$mensaje .= "</td>";
$mensaje .= "</tr>";
Una vez definidas todas las variables envío el email.
mail($destino,$asunto,$mensaje,$cabeceras)
Espero les sea útil, hasta la próxima.
No hay comentarios:
Publicar un comentario