Esta funcion funciona y la uso para enviar mas de 3K mensajes diarios a varias revistas de mis clientes, se ve en todos los clientes de correo (txt y html) y no le va tan mal con los filtros de SPAM aunque estoy seguro que al menos el 50% va a dar alli.
Código :
<?
function SendMail($frommail,$FromName,$tuma,$ToName,$Subject,$Text,$Html,$AttmFiles){
$OB="----=_OuterBoundary_000";
$IB="----=_InnerBoundery_001";
$Html=$Html?$Html:preg_replace("/\n/","{br}",$Text)
or die("contenido txt o html, inexistente.");
$Text=$Text?$Text:"mensaje de incompatibilidad ";
$frommail or die("no se encuentra la direccion del remitente");
$tuma or die("no se encuentra la direccion del receptor");
$headers = "MIME-Version: 1.0 \n" ;
$headers.="From:".$FromName." <".$frommail.">\n";
$headers.="Reply-To: ".$FromName." <".$frommail.">\n";
$headers.="X-Priority: 2\n";
$headers.="X-MSMail-Priority: Normal\n";
$headers.="X-Mailer: Microsoft Outlook Express 6.00.2741.2600\n";
$headers.="Content-Type: multipart/mixed;\n\tboundary=\"".$OB."\"\n";
//Messages start with text/html alternatives in OB
$Msg ="This is a multi-part message in MIME format.\n";
$Msg.="\n--".$OB."\n";
$Msg.="Content-Type: multipart/alternative;\n\tboundary=\"".$IB."\"\n\n";
//plaintext section
$Msg.="\n--".$IB."\n";
$Msg.="Content-Type: text/plain;\n\tcharset=\"iso-8859-1\"\n";
$Msg.="Content-Transfer-Encoding: quoted-printable\n\n";
// plaintext goes here
$Msg.=$Text."\n\n";
// html section
$Msg.="\n--".$IB."\n";
$Msg.="Content-Type: text/html;\n\tcharset=\"iso-8859-1\"\n";
$Msg.="Content-Transfer-Encoding: base64\n\n";
// html goes here
$Msg.=chunk_split(base64_encode($Html))."\n\n";
// end of IB
$Msg.="\n--".$IB."--\n";
/*// attachments
if($AttmFiles){
foreach($AttmFiles as $AttmFile){
$patharray = explode ("/", $AttmFile);
$FileName=$patharray[count($patharray)-1];
$Msg.= "\n--".$OB."\n";
$Msg.="Content-Type: application/octetstream;\n\tname=\"".$FileName."\"\n";
$Msg.="Content-Transfer-Encoding: base64\n";
$Msg.="Content-Disposition: attachment;\n\tfilename=\"".$FileName."\"\n\n";
//file goes here
$fd=fopen ($AttmFile, "r");
$FileContent=fread($fd,filesize($AttmFile));
fclose ($fd);
$FileContent=chunk_split(base64_encode($FileConten t));
$Msg.=$FileContent;
$Msg.="\n\n";
}
}
*/
//message ends
$Msg.="\n--".$OB."--\n";
mail($tuma,$Subject,$Msg,$headers);
}
/////////////////////////////////////
$TEXT='tu mensaje en formato texto';
////////////////
$HTML='
<html>
<body>
tu mensaje en formato html
</body>
</html>
';
SendMail("tudireccion de correo","TU NOMBRE","direccion de correo que recibe","Nombre del que recibe"," titulo del correo",$TEXT,$HTML,$ATTM);
?>
el script trabaja perfectamente y esta en uso, revisalo bien y cambia las cosas que tengas que cambiar.
Ten en cuenta 3 cosas
1 si estas en un shared server ten cuidado con la cantidad de correos que envias a la vez, puede ser que satures el servidor y te bloqueen permanente la cuenta.
2 si lo envias desde tu propio server y te pones a hacer SPAM tarde o temprano van a bloquear tu IP y eso te traera mas problemas que cualquier beneficio que pudiera darte un miserable SPAM
3 EL SPAM NO SIRVE!!! por el contrario aleja a los clientes de tus productos, por mas cuentos chinos que te den, eso solo te creara fieles enemigos.