Attualmente sto utilizzando uno script che utilizza file_get_contents per ottenere il contenuto di un file php e quindi lo invia all'interno di un messaggio di posta elettronica a un elenco di clienti. Vorrei modificare lo script per consentire il fallback di testo normale per ridurre il rischio di essere contrassegnati come spam.Invio di newsletter HTML con fallback testo semplice
Questo è lo script che ho in questo 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 il codice di base HTML/CSS.
Qualcuno potrebbe consigliare come posso modificare questo script per accompagnare un fallback di testo normale?
Grazie per qualsiasi aiuto.
Avete pensato di usare una libreria come [Swiftmailer] (http://swiftmailer.org/)? Questa [risposta] (http://stackoverflow.com/a/29345590/987864) descrive come è facile inviare messaggi di testo HTML e in chiaro. – Daan