PHP mail()函数转到垃圾@Outlook

时间:2012-04-07 15:46:25

标签: php email header

当使用PHP mail()函数时,当我在消息中的某处使用“utvecklat”时,电子邮件会转到垃圾文件夹。 (无所谓)

但是当我从Outlook发送电子邮件到另一个Outlook帐户(在同一个邮件服务器中)时,它会转到收件箱。

因此,我认为问题与邮件标题有关。

我正在使用此PHP代码:

$subject='=?UTF-8?B?'.base64_encode($subject).'?=';
$emailTo="{$toEmail}";

$boundary = md5(date('U'));

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/alternative;boundary={$boundary}\r\n";
$headers .= "From: \"{$fromName}\" <{$fromEmail}>\r\n";

$message = "This is a MIME encoded message."; 

$message .= "\r\n\r\n--" . $boundary . "\r\n";
$message .= "Content-type: text/html;charset=utf-8\r\n\r\n";
$message .= $message_tmp;

$message .= "\r\n\r\n--" . $boundary . "--";

mail($emailTo, $subject, $message, $headers, "-f {$fromEmail}");

电子邮件应为HTML格式。如果我使用“utv ecklat ”并不重要,无论如何电子邮件都将转到垃圾文件夹。

那么,我该怎么做才能避免Outlook中的垃圾邮件过滤器? (必须与我的电子邮件标题有关,因为从同一邮件服务器中的Outlook到Outlook的邮件会转到收件箱。)

谢谢!

更新<!/强>

在这里,您有一个从Outlook帐户发送到另一个帐户的电子邮件。有人可以将所有这些标题“转换”为正确的PHP mail()代码吗?谢谢!

Return-Path: <example@domain.com>
Delivered-To: robin@example.com
Received: from localhost (localhost [127.0.0.1])
    by example.example.com (Postfix) with ESMTP id 9C67EC21B12
    for <robin@example.com>; Sat,  7 Apr 2012 17:58:14 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at example.example.com
X-Spam-Flag: NO
X-Spam-Score: -2.47
X-Spam-Level: 
X-Spam-Status: No, score=-2.47 required=6.31 tests=[ALL_TRUSTED=-1,
    BAYES_00=-1.9, HTML_MESSAGE=0.001, MIME_HTML_MOSTLY=0.428,
    TVD_SPACE_RATIO=0.001] autolearn=ham
Received: from example.example.com ([000.000.000.00])
    by localhost (example.example.com [127.0.0.1]) (amavisd-new, port 10024)
    with ESMTP id HIlqLaU+2IIL for <robin@example.com>;
    Sat,  7 Apr 2012 17:58:11 +0200 (CEST)
Received: from Ciccidator (00-000-00-000-no56.tbcn.telia.com [00.00.00.000])
    by example.example.com (Postfix) with ESMTPA id 866F2C2059C
    for <robin@example.com>; Sat,  7 Apr 2012 17:58:11 +0200 (CEST)
From: "Example Sender" <example@domain.com>
To: <robin@example.com>
Subject: utvecklat
Date: Sat, 7 Apr 2012 17:58:01 +0200
Message-ID: <000001cd14d7$35d38070$a17a8150$@example.com>
MIME-Version: 1.0
Content-Type: multipart/alternative;
    boundary="----=_NextPart_000_0001_01CD14E7.F95C9E90"
X-Mailer: Microsoft Outlook 14.0
Thread-Index: Ac0U1zWPte9QsazETMuTKG6LDnf1fg==
Content-Language: sv

3 个答案:

答案 0 :(得分:2)

省略垃圾邮件涉及很多方面,而且永远不可能是100%的解决方案。因为电子邮件过滤可能与一个跨度引擎不同。

  • 确认您始终收到邮件的最佳方法是在收件人的地址簿上添加发件人的电子邮件地址。

  • 另外,您应该确认发件人的电子邮件是否未在互联网上列入黑名单。

  • 始终确认您已使用正确的标题发送了电子邮件。

  • 使用PHP Mailer

  • 等电子邮件库

更多信息:查看有关MX条目的this答案。

答案 1 :(得分:0)

如果您的“发件人:”标题包含的域名与发送邮件的服务器的域名不匹配,则Outlook可能会出现问题。

Outlook是否接受脚本中不包含此字词的电子邮件?

您是否可以通过Gmail帐户或其他“真实”电子邮件客户端将此字词发送到Outlook收件箱?

如果这两个问题的答案都是“是”,那么我建议您查看已接受电子邮件中的标题并将其复制完全

此外,\ r \ n不仅仅需要\ n iirc

祝你好运,

答案 2 :(得分:0)

也许使用PHPMailer可以解决您的问题。测试它......