Apr
29
2008

Cómo Enviar un email de texto o html con (usando) php sendmail

Para enviar un email usando php, se puede utilizar sendmail que debe estar configurado en el archivo de configuración php.ini.

Configuración para usar mail()

Aignar el puerto SMTP y establecer un email sendmail_from

Descomentar

SMTP = localhost
 
smtp_port = 25
 
sendmail_from = admin@miemail.com

A continuación, describo los parámetros de la función de php mail para enviarlo:

mail($destinatario, $titulo, $mensaje,$cabecera)

[/lang_en][lang_en]

Ahora se debe crear un archivo php como éste:

Ejemplo 1:

Dentro de la cabecera se agrega la hora, el tipo de mensaje, FROM,CC,CCO,BCC.Reply, el ejemplo 2 simplifica la tarea asignando variables a cada dato adicional del encabezado del email

< ?php
 
mail("email_destino@empresa.com", "Cualquier Asunto", "Prueba de envío de emails",
 
"Date: 12 de Agosto del 2007
 
MIME-Version: 1.0
 
From: Juan Pérez
 
Cc: marcelo@miempresa.com
 
Bcc:marcelo2@miempresa.com
 
Return-path: juan@bocarrero.as
 
Reply-To: miempresa@miempresa.com
 
X-Mailer: PHP/".phpversion())
?>

Ejemplo2:

< ?php
$destinatario="cualquier_email@empresa.com";
 
$titulo="Prueba de envío de email";
 
$mensaje="Esto es una prueba para envío de email sólo texto plano";
 
$responder="minombre@miempresa.com";
 
$remitente="juan perez";
 
$remite_email="minombre@miempresa.com";
 
//Dentro de la misma variable se agregan los datos necesarios para crear un encabezado correcto de email
$cabecera ="Date: ".date("l j F Y, G:i")."\n";
 
  $cabecera .="MIME-Version: 1.0\n";
 
  $cabecera .="From: ".$remitente."\n";
 
  $cabecera .="Return-path: ". $remite."\n";
 
  $cabecera .="Reply-To: ".$responder."\n";
 
  $cabecera .="X-Mailer: PHP/". phpversion()."\n";
 
if( mail($destinatario, $titulo, $mensaje,$cabecera)){
 
  echo "mensaje enviado";
 
}
 
?>

Referencia:

link

Written by doutdex in: PHP | Tags: ,

3 Comments »

  • Cristian says:

    Muy buen tuto, espero seguir recibiendo tutoriales como este

  • glenn says:

    Se me queda una duda, para hotmail, com puedo hacer para que no llegue como correo no deseado, o en algunas veces llega pero bloqueado al abrir el mensaje

  • doutdex says:

    glenn, tal vez se debe a que tu servidor de correos está catalogado como spam para hotmail, es decir, está en la lista negra, tengo entendido que uno puede configurar el servidor para que tenga el record mx, esto autentica que es un servidor válido para el envío de emails, así por ejemplo hotmail, cuando tú le envías un correo, revisa el dominio del destinatario y lo compara con el dominio al cual debería corresponder el MX, si corresponde lo pasa, sino se va como SPAM.

    Algo de info que puede servir:

    -Script php para validar email con función checkdnsrr revisando record MX
    http://php.dzone.com/news/php-email-validator-email-mx-d
    – Info acerca de la función checkdnsrr
    http://fr2.php.net/manual/en/function.checkdnsrr.php#75452

    saludos, JP.

RSS feed for comments on this post. TrackBack URL


Leave a Reply

%d bloggers like this: