在切换服务器之后,在电子邮件中剥离了Content-Type标头

我的程序每天发送电子邮件给用户。 我最近切换了服务器,一旦我们在新服务器上设置了电子邮件作业,我们的一个用户抱怨说他们正在接收计划文本中的电子邮件。 没有其他用户有这个问题。

大多数用户收到的标题如下(用<>标记replace敏感信息):

Delivered-To: <email> Received: by 10.229.215.75 with SMTP id hd11cs31754qcb; Fri, 8 Jul 2011 06:00:20 -0700 (PDT) Received: by 10.150.236.18 with SMTP id j18mr2060469ybh.84.1310130019825; Fri, 08 Jul 2011 06:00:19 -0700 (PDT) Return-Path: <return path> Received: from <server> ([<ip address>]) by mx.google.com with ESMTP id f14si8302490ybc.25.2011.07.08.06.00.18; Fri, 08 Jul 2011 06:00:18 -0700 (PDT) Received-SPF: neutral (google.com: <ip address> is neither permitted nor denied by best guess record for domain of <return path) client-ip=<ip address>; Authentication-Results: mx.google.com; spf=neutral (google.com: <ip address> is neither permitted nor denied by best guess record for domain of <return path>) smtp.mail=<return path> Received: by <server name> (Postfix, from userid 1001) id 41B4C162FFA; Fri, 8 Jul 2011 08:00:17 -0500 (CDT) To: <user email address> Subject: <subject> X-PHP-Originating-Script: 33:Email.php From: <from email address> Content-Type: text/html; charset=utf-8 Message-Id: <20110708130018.41B4C162FFA@<server>> Date: Fri, 8 Jul 2011 08:00:17 -0500 (CDT) 

但是,出现错误的用户将收到以下标题:

 Return-Path: <return path> Received: from <server> (UnknownHost [<ip address>]) by seriousw1.seriousw1.com with SMTP; Mon, 11 Jul 2011 08:00:26 -0500 Received: by <server> (Postfix, from userid 1001) id 72F2A163F34; Mon, 11 Jul 2011 08:00:09 -0500 (CDT) To: <user email address> Subject: <subject> X-PHP-Originating-Script: 33:Email.php From: <from email> Message-ID: <809141a1b4f842e0a015f20c000dab91@com> X-SmarterMail-Spam: SPF_None, Reverse DNS Lookup, ISpamAssassin 3 [raw: 2], DK_None, DKIM_None X-SmarterMail-TotalSpamWeight: 5 

正如您在上面看到的那样,Content-Type声明不包含在第二个头中,导致消息被解释为纯文本。

我尝试了各种各样的东西,但现在完全卡住了。 任何帮助或想法都非常感激。

谢谢!

首先要注意的是:这不是Postfix问题。 除非你明确地configurationPostfix 删除标题,否则它应该保存在标题中。 您的问题可能会出现在这些情况之一:

  1. 生成邮件的软件(不是用于转发邮件的Postfix)不会创build标题字段。 所以其他邮件服务器试图添加缺less的字段。 其他人不。
  2. 邮件服务器或收件人的垃圾邮件filter在传递之前删除标题字段。

所以首先检查你是否收到了正确的标题栏的邮件。 如果是,那么应该是一切OK,并且是接收者的问题。 但它真的看起来像你的Email.php问题,因为它有更多的问题:

  • 无效消息ID:
  • 缺失date:
  • 缺lessContent-Type:
  • 缺lessContent-Transfer-Encoding:
  • 缺lessMIME版本:

所以这也可能导致5的高垃圾邮件评级。