我正在开发一个最近被移动过的网站。移动后,使用php mail()函数 AND 的所有脚本都具有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。
有什么想法吗?
答案 0 :(得分:1)
我认为您的问题与\n
和QMAIL
有关,邮件功能文档说明了这一点。
注意:如果没有收到消息, 尝试仅使用LF(\ n)。有些穷人 优质的Unix邮件传输代理 由CRLF自动替换LF (如果CRLF是,则导致CR加倍 用过的)。这应该是最后的手段, 因为它不符合»RFC 2822。
所以,如果您的标题由\r\n
分隔,则可以用单\n
替换它们。
此bug报告还提供了使用脚本的解决方案。
答案 1 :(得分:0)
我遇到了同样的问题,通过PHP发送的电子邮件显示为Outlook中的原始电子邮件内容(其他客户端没有问题)。事实证明我的问题完全来自于此处所接受的其他原因,所以我假设标题中有很多方法会导致Outlook放弃渲染它。
我发送了一些电子邮件作为BCC,其中“To”标题看起来不像真正的电子邮件(它类似于'示例组'而不是'示例组') - 我一确定“To”标题实际上是格式化为电子邮件地址,它在Outlook中显示没有任何问题。