我一直在阅读其他问题,如:发送邮件与php &转义垃圾邮件文件夹,但我不知道问题出在哪里。我花了几个小时来布置一切。
我搜索了一些完整的头,我正在使用它们。我还设置了防晒系数。在其他问题中,我唯一没有读到/看到的是hotmail是否检测到邮件发送的域名:
- 我有一个注册/登录的子域,从这个子域发送一些邮件(验证/更改密码邮件)。
- 发件人邮箱域不是子域名。
- 邮件中提供的链接发送到子域(脚本执行的地方)
所以我不确定这是否是hotmail不"批准"我的邮件的原因…
这是邮件的来源(hotmail):
x-store-info:4r51+eLowCe79NzwdU2kRyU+pBy2R9QCQ99fuVSCLVNK5Qy3tNqo8vMm9jiywJSb4AMHHDpThtTp0/868JYjtiuwXZKN6huGiKorTLfam2nlYixnKNQu5eplyIAwMuvqi0o7Xe5KjgM=
Authentication-Results: hotmail.com; spf=pass (sender IP is 195.154.9.53) smtp.mailfrom=accounts@corporativelines.com; dkim=none header.d=corporativelines.com; x-hmca=pass header.id=accounts@corporativelines.com
X-SID-PRA: accounts@corporativelines.com
X-AUTH-Result: PASS
X-SID-Result: PASS
X-Message-Status: n:n
X-Message-Delivery: Vj0xLjE7dXM9MDtsPTA7YT0wO0Q9MjtHRD0yO1NDTD00
X-Message-Info: 11chDOWqoTnmN+ivpBVEjsVU8moIb13En8xpAAkdU6D2Jw9iq84N9UKCWMkB8jcijAo9uBZZpNSfs4N4ZmryrVmAm+9DT92cCh1N4AGxo+UI9VDYmm7c0Ui7BmjOCJdw5s8hvwwVCQJ3zP8VMfuIxZhQ1EirTyAADSXPIzac4tMV3En7hamwIe+Ox0V9g6xITx6WyNuJQtaCfKqkehC89rqbEhbKZ45Z
Received: from sd-22000 ([195.154.9.53]) by COL004-MC5F5.hotmail.com with Microsoft SMTPSVC(7.5.7601.23008);
Sun, 7 Jun 2015 13:29:16 -0700
Received: (qmail 1503 invoked by uid 7798); 7 Jun 2015 20:26:51 -0000
To: how2hack@hotmail.es
Subject: =?UTF-8?B?QWN0aXZhdGUgYWNjb3VudA==?=
MIME-Version: 1.0
Content-Type: text/HTML; charset="UTF-8";
Content-Transfer-Encoding: 8bit
Date: Sun, 07 Jun 2015 21:26:51 +0100
Message-ID: <143370881165cf616b9bf0356d5acc5471bf66e73f@corporativelines.com>
From: "AET LTD" <accounts@corporativelines.com>
Reply-To: "AET LTD" <accounts@corporativelines.com>
X-Mailer: PHP 5.4.41
X-Originating-IP: 195.154.9.53
Return-Path: accounts@corporativelines.com
X-OriginalArrivalTime: 07 Jun 2015 20:29:16.0804 (UTC) FILETIME=[A00F6440:01D0A160]
<html>
<head>
<title>Activate account</title>
</head>
<body>
<p>In order to activate your account follow this link: </p>
<a href="http://auth.corporativelines.com/activateAccount?code=e9a7fbefc95171ed153739457c4bf78d231a067f&email=how2hack@hotmail.es">Activate account</a>
</body>
</html>
这些是我使用的头:
$headers = array (
'MIME-Version: 1.0',
'Content-Type: text/HTML; charset="UTF-8";',
'Content-Transfer-Encoding: 8bit', // quoted-printable for compatibility
'Date: ' . date('r', $_SERVER['REQUEST_TIME']),
'Message-ID: <' . $_SERVER['REQUEST_TIME'] . md5($_SERVER['REQUEST_TIME']) . '@corporativelines.com>',
'From: ' . $from,
'Reply-To: ' . $from,
'Return-Path: ' . $from,
'X-Mailer: PHP ' . phpversion(),
'X-Originating-IP: ' . $_SERVER['SERVER_ADDR']
);
所以我不知道为什么hotmail总是把我的邮件推到垃圾文件夹…也许是dns问题?我对那种事不太确定。
编辑:这个问题与PHP mail()函数不能发送到hotmail无关?
我(几乎)已经做了基本的配置,没有被标记为垃圾邮件,就像在其他问题中所说的那样,但是问题仍然存在。所以这是一个独特的问题,而不是重复的问题。
我认为Hotmail之所以会将你的邮件标记为"垃圾邮件",最主要的原因是你的主题行看起来很奇怪。它不是一个常规的主题行,如"激活帐户",而是Subject: =?UTF-8?B?QWN0aXZhdGUgYWNjb3VudA==?=
。你可能想使用一个静态的主题行,如"Corporative Lines - Activate Account",并测试它,看看是否有什么不同。
如果是你的域名,DNS, SPF记录等问题,Hotmail可能会完全拒绝激活电子邮件。但是这封邮件显然是进入Hotmail的,所以邮件本身的一些东西被标记为"垃圾邮件"。
把你的邮件标记为垃圾邮件的原因可能有很多,你可能需要一段时间才能找到真正触发他们系统的原因。
看看这个链接和一些建议:http://blog.iweb.com/en/2008/03/spam-filtering-how-to-make-sure-that-hotmail-and-others-dont-exclude-your-legitimate-emails/698.html
对于我们来说,停止将我们的电子邮件标记为垃圾邮件的是反向DNS查找,所以我建议从这开始-这意味着当hotmail收到电子邮件时,他会对IP进行反向检查,看看它是否与它所说的域名匹配,如果不匹配,它可以将其标记为垃圾邮件。
你可以在这里运行反向检查:http://mxtoolbox.com/ReverseLookup.aspx