Actualmente estoy usando un script que usa file_get_contents para obtener el contenido de un archivo php y luego lo envía dentro de un correo electrónico a una lista de clientes. Me gustaría modificar la secuencia de comandos para permitir la recuperación de texto sin formato para reducir el riesgo de que se marque como spam.Enviando boletines HTML con texto sin formato
Este es el guión que tengo en este momento:
function sendit($to,$subject,$body)
{
$headers = "To: <{$to}>\n".
"From: Test Newsletter Admin <[email protected]>\n".
"Reply-To: Test Newsletter Admin <[email protected]>\n".
"MIME-Version: 1.0\n".
"Content-Type: text/html; charset=ISO-8859-1\n";
$mail_sent = @mail($to, $subject, $body, $headers);
return $mail_sent;
}
$content = file_get_contents('attach/newsletter.php');
//require_once('../../func.php');
set_time_limit(0);
date_default_timezone_set('Europe/London');
$log = fopen('send'.date('dmY',time()).'.log','wb');
//$array = file('NonCustClean.txt');
$array = file('devaddresses.txt');
// Delay In Seconds between emails (must be INT)
$delay = 10;
$count = count($array);
$end = time()+ ($delay*$count);
echo "Start Time: ".date('d/m/Y H:i:s',time()).'<br />';
echo "Estimated End Time: ".date('d/m/Y H:i:s',$end).'<br />';
echo "(".dateDiff(time(),$end).")<br />";
foreach ($array as $email)
{
$status = (sendit(trim($email), 'Test Newsletter',$content))?'Sent':'failed';
fwrite($log,date('[d/m/Y H:i:s]',time()).' Email '.$status.' to '.trim($email)."\n");
echo date('[d/m/Y H:i:s]',time()).' Email '.$status.' to '.trim($email)."</br>";
flush();
sleep(10);
}
newsletter.php solo contiene código básico de HTML/CSS.
¿Podría alguien aconsejarme cómo puedo alterar este guión para acompañar un respaldo de texto sin formato?
Gracias por cualquier ayuda.
¿Ha pensado en utilizar una biblioteca como [SwiftMailer] (http://swiftmailer.org/)? Esta [respuesta] (http://stackoverflow.com/a/29345590/987864) describe lo fácil que es enviar HTML y correo de texto sin formato. – Daan