Я работаю над недавно перенесенным сайтом. После перемещения все сценарии, использующие функцию php mail (), имеют MIME-Version: и Content-type в заголовке не отображаются правильно. Они появляются так
Delivered-To: asdf@adffdsf.com Received: by 10.114.121.18 with SMTP id t17cs128223wac; Thu, 19 Nov 2009 11:52:35 -0800 (PST) Received: by 10.231.48.150 with SMTP id s22mr755195ibfdge.22.1258660355109; Thu, 19 Nov 2009 11:52:35 -0800 (PST) Return-Path: <anonymous@u15366254sdf.onlinehome-server.com> Received: from u15366254.onlinehome-server.com (u15366254.onlinehome-server.com [74.208.194.179]) by mx.google.com with ESMTP id 16si2425376iwn.129.2009.11.19.11.52.34; Thu, 19 Nov 2009 11:52:34 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of anonymous@u15366254.onlinehome-server.com designates 74.208.194.179 as permitted sender) client-ip=74.208.194.179; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of anonymous@u15366254.onlinehome-server.com designates 74.208.194.179 as permitted sender) smtp.mail=anonymous@u15386254.onlinehome-server.com Received: (qmail 8341 invoked by uid 48); 19 Nov 2009 08:55:35 -0500 Date: 19 Nov 2009 08:55:35 -0500 Message-ID: <20091119185535.8339.qmail@u15386254.onlinehome-server.com> To: asdf@asdfad.com Subject: Retailer Application MIME-Version: 1.0 Content-type: text/html; charset=iso-8859-1 From: asdf@asdfad.com
Кроме того, в сообщении html отображается сообщение raw.
Когда я использую тот же самый сценарий для отправки электронной почты на другом сервере, он работает так, как ожидалось. Кроме того, сценарии электронной почты на сайте, использующие почту Swift, отлично работают.
Я мог бы просто изменить их, чтобы использовать swift, но есть много сценариев, которые нужно будет отредактировать.
Я использую php 5.1.6.
Есть идеи?
Я думаю, что ваша проблема связана с \n
и QMAIL
, это подтверждается документацией по функциям почты.
Примечание. Если сообщения не получены, попробуйте использовать только LF (\ n). Некоторые низкокачественные почтовые агенты Unix автоматически заменяют LF CRLF (что приводит к удвоению CR, если используется CRLF). Это должно быть последним средством, поскольку оно не соответствует »RFC 2822.
поэтому вы, если заголовок разделены \r\n
вы, вероятно, замените их на один \n
.
Этот отчет об ошибке также предоставляет решение с использованием сценария.
У меня была та же проблема, когда сообщение электронной почты, отправленное через PHP, появилось в виде сырого содержимого электронной почты в Outlook (у других клиентов не было проблем). Оказывается, причина, по которой моя проблема была в чем-то совсем другом, – это то, что было принято здесь, поэтому я предполагаю, что проблемы в заголовке могут привести к тому, что Outlook просто откажется от его рендеринга.
Я отправлял несколько писем в виде BCC с заголовком «Кому», который не выглядел как настоящий адрес электронной почты (это было нечто вроде «Примерная группа» вместо «Примерная группа») – как только я убедился, что «Кому заголовок был фактически отформатирован как адрес электронной почты, он появился в Outlook без каких-либо проблем.