6

我的网站使用 PHP 邮件功能向用户发送电子邮件。Hotmail 和 Gmail 用户不会收到它们,或者它们最终会进入垃圾邮件文件夹。这是被 Gmail 标记为垃圾邮件的邮件的标题。

该怎么办?

Delivered-To: koopter1982@gmail.com
Received: by 10.216.213.222 with SMTP id a72cs207473wep;
        Sat, 2 Oct 2010 04:26:47 -0700 (PDT)
Received: by 10.216.3.19 with SMTP id 19mr3099233weg.108.1286018806068;
        Sat, 02 Oct 2010 04:26:46 -0700 (PDT)
Return-Path: <admin@drt01.dco.fusa.be>
Received: from drt01.dco.fusa.be (drt01.dco.fusa.be [193.110.251.55])
        by mx.google.com with ESMTP id m29si2837219weq.203.2010.10.02.04.26.45;
        Sat, 02 Oct 2010 04:26:46 -0700 (PDT)
Received-SPF: pass (google.com: best guess record for domain of admin@drt01.dco.fusa.be designates 193.110.251.55 as permitted sender) client-ip=193.110.251.55;
Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of admin@drt01.dco.fusa.be designates 193.110.251.55 as permitted sender) smtp.mail=admin@drt01.dco.fusa.be
Received: from admin by drt01.dco.fusa.be with local (Exim 4.69)
    (envelope-from <admin@drt01.dco.fusa.be>)
    id 1P20En-000303-Lo
    for koopter1982@gmail.com; Sat, 02 Oct 2010 13:26:45 +0200
To: koopter1982@gmail.com
Subject: Koopte: zoekertje activeren
X-PHP-Script: www.koopte.be/confirmation.php for 213.118.179.121
From: Koopte <zoekertjes@koopte.be> 
Reply-To:<zoekertjes@koopte.be> 
Content-Type: text/html; charset=iso-8859-1
Message-Id: <E1P20En-000303-Lo@drt01.dco.fusa.be>
Sender:  <admin@drt01.dco.fusa.be>
Date: Sat, 02 Oct 2010 13:26:45 +0200
4

2 回答 2

5

您的信封地址与发件人地址不符。这是邮件被视为垃圾邮件的主要原因。

背景是:用户看不到信封地址(在您的情况下为 admin@drt01.dco.fusa.be)。它只是被邮件服务器用来返回错误邮件。从历史上看,因为它们与管理员比与用户更相关。然而,今天将信封地址设置为与用户地址相同的事实标准。垃圾邮件发送者并没有真正这样做,因为他们要么没有可能,要么不想在发送垃圾邮件时收到所有退回的错误邮件。或者他们不希望被利用木马蠕虫的用户意识到他们的恶行。

在 php/sendmail 这个函数被称为 f 参数。您可以在函数文档中阅读所有相关信息:http: //php.net/manual/en/function.mail.php

像 phpmailer 或libmail这样的类自己做这件事,使用其中之一可能是最好的主意,因为它们已经过测试,设计良好,可以对开发中的变化做出反应!

您可以做的下一件事是将反向 dns 设置为与发件人地址相同的域。如果你这样做,你真的非常值得信赖,因为邮件可以匹配到服务器,从而匹配到 provbider/admin,并且很容易被垃圾邮件网络列入黑名单。因此,如果您使用正确设置的反向 dns 发送垃圾邮件,您将不会做太久。arpa rulse 中有一个内置指令,设置此类条目需要一段时间,因此不能以某种方式进行动态和利用。

然而,这是相当先进的,每个 ip 地址只能有一个反向 dns 条目。因此,您无法在共享托管环境中执行此操作。您还必须联系您的提供商进行设置,但您可以通过谷歌搜索所有这些内容。

总结:

  • 更正你的信封地址,应该没问题
  • 如果可以的话,设置一个反向 dns 条目

PS:对于如何以及何时将邮件视为垃圾邮件并没有真正的规定,并且上述技巧仅被证明在实践中有效,但绝对不能保证。每个邮件提供商都可以做他想做的事......(雅虎是这些候选人之一,做他们自己的事情并在过去惹恼每个人)

祝你好运

于 2010-10-02T14:48:11.320 回答
1

尝试使用谷歌应用程序并设置 spf 记录,进入设置 -> 安全并设置 txt dkim 密钥。然后设置 mx 记录等。在您域的子域(例如 int.domain.com)上执行所有这些操作,然后在登录 google 帐户后使用 smtp 从 phpmail 发送邮件,单击设置按钮右键,单击设置,php/imap,并启用两者。

这对我来说总是有效的,它们永远不会被标记为垃圾邮件,因为它们来自谷歌的服务器并且具有有效的标题、返回路径、发件人、smtp、spf 记录、txt dkim 记录、mx 记录等。

试试看,让我知道它是否有效:)

于 2012-08-18T18:15:52.227 回答