私は現在、file_get_contentsを使用してPHPファイルの内容を取得し、顧客のリストに電子メールで送信するスクリプトを使用しています。スパムとしてマークされるリスクを軽減するためにプレーンテキストのフォールバックを許可するようにスクリプトを変更したいと思います。プレーンテキストのフォールバックを使用したHTMLニュースレターの送信
これは現時点で私が持っているスクリプトです:
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だけで、基本的なHTML/CSSのコードが含まれています。
誰かが、プレーンテキストのフォールバックに同行するようにこのスクリプトを変更する方法を教えてください。
ありがとうございました。
あなたは[ではSwiftMailer](http://swiftmailer.org/)のようなライブラリを使用して考えたことはありますか?この[answer](http://stackoverflow.com/a/29345590/987864)では、HTMLとプレーンテキストメールの送信が簡単に説明されています。 – Daan