我正在为我的大学网站工作,我写了一个PHP脚本,使用php mail function发送电子邮件。 但问题是,我发送的所有电子邮件都将进入收件人垃圾邮件/垃圾邮件文件夹。
为了解决这个问题,我尝试了所有的步骤,并在stackoverflow和serverfault网站的类似问题的答案,但问题尚未解决。
这是发送电子邮件的php代码:
<?php $from_address="webmaster@".$_SERVER['SERVER_NAME']; $from_name="webmaster"; $headers = "MIME-Version: 1.0\r\n" ."Content-Type: text/plain; charset=utf-8\r\n" ."Content-Transfer-Encoding: 8bit\r\n" ."From: =?UTF-8?B?". base64_encode($from_name) ."?= <$from_address>\r\n" ."X-Mailer: PHP/". phpversion(); $subject="Web Mail Testing"; $body="This is test Message"; $to="[email protected]"; mail($to, $subject, $body, $headers, "-fwebmaster@{$_SERVER['SERVER_NAME']}"); echo "The Mail is SuccessFully Sent to :".$to; ?>
我也附上原始电子邮件(我收到我的Gmail帐户“[email protected]”)
Delivered-To: [email protected] Received: by 10.204.8.210 with SMTP id i18csp146000bki; Wed, 21 Nov 2012 20:58:12 -0800 (PST) Received: by 10.68.219.164 with SMTP id pp4mr1119127pbc.72.1353560291776; Wed, 21 Nov 2012 20:58:11 -0800 (PST) Return-Path: <[email protected]> Received: from www.nitw.ac.in (www.nitw.ac.in. [218.248.13.200]) by mx.google.com with ESMTPS id sh10si3456960pbb.293.2012.11.21.20.58.10 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 21 Nov 2012 20:58:11 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of [email protected] designates 218.248.13.200 as permitted sender) client-ip=218.248.13.200; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of [email protected] designates 218.248.13.200 as permitted sender) [email protected] Received: from www.nitw.ac.in (localhost.localdomain [127.0.0.1]) by www.nitw.ac.in (8.13.8/8.13.8) with ESMTP id qAM50M0h016190 for <[email protected]>; Thu, 22 Nov 2012 10:30:23 +0530 Received: (from nobody@localhost) by www.nitw.ac.in (8.13.8/8.13.8/Submit) id qAM50McG016189; Thu, 22 Nov 2012 10:30:22 +0530 Date: Thu, 22 Nov 2012 10:30:22 +0530 Message-Id: <[email protected]> X-Authentication-Warning: www.nitw.ac.in: nobody set sender to [email protected] using -f To: [email protected] Subject: Web Mail Testing X-PHP-Originating-Script: 0:mailer.php MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit From: =?UTF-8?B?d2VibWFzdGVy?= <[email protected]> X-Mailer: PHP/5.3.5 This is test Message
同时,当我发现这种问题的原因是server blacklisting , 我用这个工具来testing它 。
上面的工具testing发现我的服务器在一些黑名单中时,我感到震惊。 这是怎么回事,因为我上面附上的原始邮件说:“ Received-SPF: pass (google.com: best guess record for domain of [email protected] designates 218.248.13.200 as permitted sender)
另外,如果我的服务器被列入黑名单,那么我如何find黑名单的原因以及如何解决?
关于垃圾邮件/垃圾邮件文件夹的问题,有两件事:
您需要查看邮件主持人的指导方针并帮助批量发件人。 Gmail的在这里 。 一旦你做了他们build议的一切,如果你的电子邮件仍然被标记为垃圾邮件,请求他们的帮助/支持。
检查您的电子邮件对垃圾邮件检查器。 有免费的在线工具可供select,您可以针对您select的垃圾邮件filter等运行这些工具,并尽可能降低垃圾邮件分数。
关于黑名单:
您链接的工具针对45种不同的(相对广泛使用的)黑名单进行检查。 Gmail不会将您的服务器列入黑名单中的任何一个。
为了摆脱黑名单,你通常需要联系维护它的组织,请求你的案件,并让他们把你带走。 他们也将是唯一能够告诉你如何得到他们的具体黑名单。
邮件服务器被列入黑名单的原因通常是有足够多的人向他们抱怨来自服务器的电子邮件,或者他们发现你的服务器是开放中继,否则可能会被垃圾邮件发送者破坏。
有些人和企业会为你做黑名单工作,通常收取非常大的费用。