У меня есть сценарий php mail, который хорошо работает, за исключением одного незначительного факта. В Outlook (вся версия), письмо приходит в gibrish. Если письмо читается через интернет-браузер (например, Gmail.com), все в порядке. Возможно ли, чтобы письмо выглядело хорошо и в Outlook? Я попробовал отправить его по электронной почте в виде HTML, но все равно ничего не получилось.
Я могу опубликовать полный код, если это необходимо, но выглядит примерно так:
это заголовки:
$email = $_REQUEST['email']; $headers = 'From: ' . $email . "\r\n" . 'Reply-To: ' . $email . "\r\n" . 'X-Mailer: PHP/' . phpversion(); $headers .= "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-Type: Text/plain; charset=ISO-8859-8";
использует функцию mail ():
mail ($to, $subject, $message, $headers);
Я попытался найти способы кодирования входящих сообщений Outlook по-разному, но я (1) не смог найти способ сделать это, и (2) предпочел бы иметь его таким образом, поскольку он должен быть у многих людей ,
EDIT: после добавления строки ниже, сообщение правильно отображается как в браузерах, так и в Outlook. Надеюсь, это поможет кому-то!
//convert to utf-8 $message = mb_convert_encoding( $message , 'ISO-8859-8' , 'utf-8' );
Благодаря! Amit
Должно быть довольно легко, измените charset=ISO-8859-8
на charset=UTF-8
Также убедитесь, что созданная страница закодирована как UTF-8
и что, если используется база данных, таблица (или целое db) находится в UTF-8 unicode general
С помощью UTF-8
вы можете писать символы по мере их появления, не использовать сущности.