У меня есть многопользовательский почтовый скрипт, который берет POST-адрес электронной почты и отправляет ему простой адрес в HTML и/или обычный текст. Он корректно отображается в Gmail и Outlook, но не eM (и даже не доходит до сервера Communigate). Код:Многопользовательские электронные письма, отображаемые неверно в eM-клиенте
<?php
$email_address = addslashes($_POST['email_address']);
if (!filter_var($email_address, FILTER_VALIDATE_EMAIL)) {
header("Location: ./?error=invalid-email");
exit();
}
$subject_line = "This is a test multi-part email";
$boundary = uniqid();
$headers = "MIME-Version:1.0\r\n";
$headers .= "From: Maggie Multipart <[email protected]>\r\n";
$headers .= "To: " . $email_address . "\r\n";
$headers .= "Content-Type: multipart/alternative;boundary=" . $boundary . "\r\n";
$message = "This is a MIME encoded message.";
$message .= "\r\n\r\n--" . $boundary . "\r\n";
$message .= "Content-Type: text/plain;charset=utf-8\r\n\r\n";
$message .= "Hello,\nThis is a test email, the text/plain version.\n\nRegards\nMaggie Multipart";
$message .= "\r\n\r\n--" . $boundary . "\r\n";
$message .= "Content-Type: text/html;charset=utf-8\r\n\r\n";
$message .= "<p>Hello,<br>This is a test email, the text/html version.</p><p>Regards<br><strong>Maggie Multipart</strong></p>";
$message .= "\r\n\r\n--" . $boundary . "--";
mail("", $subject_line, $message, $headers);
header("Location: ./?success=email-sent");
exit();
// var_dump($_POST);
?>
сообщение получено в Ет следующим образом:
Content-Type: Текст/равнинный, кодировка = UTF-8
Здравствуйте,
Это тестовая электронная почта, текстовая/простая версия.
С уважением
Мэгги Multipart
Однако ЕМ настроен на получение HTML-писем (и делает это часто). Может кто-то помочь мне решить эту проблему? Я не хватает заголовков?