Я продолжаю получать исходный код в Outlook 2013. Я прочитал много вопросов о стековом потоке, перепробовал все рекомендуемые решения, но ни один из них не помог.
вот мой php
$test1 = "test string";
// Retrieve the email template required
$message = file_get_contents('email-templates/template1.html');
// Replace the % with the actual information
$message = str_replace('%test1%', $test1, $message);
//echo $message;
$to = '[email protected]';
$email_subject = "test";
$email_body = $message;
$headers = "From: $to\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "Content-Transfer-Encoding: 8bit\n";mail($to,$email_subject,$email_body,$headers);
используя только \n
вместо \r\n
и позаботился о порядке (этот был представлен), но все еще работает на gmail, телефон, бот не в Outlook.
есть еще предложения?
Я предлагаю скорее пытаться заново изобрести (или починить) колесо, которое вы используете PHPMailer. Я использовал его в течение многих лет, чтобы отправлять электронные письма HTML, которые правильно отображаются в Outlook.
ваш код очень похож на пример на странице руководства http://php.net/manual/en/function.mail.php
попробуйте завершить свои строки \ r \ n (CR-LF), а не просто переводом строки, кто знает
Вы можете сделать резервную копию шага, скопировать и вставить пример с php.net и посмотреть, действительно ли проблема на стороне Outlook. Вы также можете извлечь html-письма из вашего почтового ящика и посмотреть, что они делают по-другому (попробуйте скопировать и вставить отправку копии хорошего html-письма из php)
Что касается переизобретения колеса, если mail () предшествует PHPMailer, возможно, именно последнее переосмыслило …
решение было
$headers .= "MIME-Version: 1.0\n" ;
$headers .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";