这是一个棘手的问题,我一直依赖于技术,比如基于许可的电子邮件(即只发送给你有权发送的人),而不是公然使用垃圾邮件术语。

最近,我以编程方式发送的一些电子邮件开始被自动转移到别人的垃圾邮件文件夹中,我不知道该怎么办。

尽管这些特定的电子邮件并不是人类会标记为垃圾邮件的,具体来说,它们是包含许可密钥的电子邮件,人们已经花了很多钱购买,所以我不认为他们会认为它们是垃圾邮件

我认为这是一个很大的话题,在这个话题上我基本上是一个无知的傻瓜。


当前回答

除了所有其他答案外,如果您发送的HTML电子邮件包含URL作为链接文本,请确保URL与链接文本匹配。我知道雷鸟会自动将他们标记为骗局。

错误的方式:

Go to your account now: <a href="http://www.paypal.com.phishers-anonymous.org/">http://www.paypal.com</a>

正确的做法:

Go to your account now: <a href="http://www.yourdomain.org/">http://www.yourdomain.org</a>

或者使用不相关的链接文本代替URL:

<a href="http://www.yourdomain.org/">Click here to go to your account</a>

其他回答

以下是之前回答中的几个要点:

Most important: Does the sender address ("From") belong to a domain that runs on the server you send the E-Mail from? If not, make it so. Never use sender addresses like xxx@gmail.com. User reply-to if you need replies to arrive at a different address. Is your server on a blacklist (e.g. check IP on spamhaus.org)? This is a possibility when you're on shared hosting when neighbours behave badly. Are mails filtered by a spam filter? Open an account with a freemailer that has a spam folder and find out. Also, try sending mail to an address without any spam filtering at all. Do you possibly need the fifth parameter "-f" of mail() to add a sender address? (See mail() command in the PHP manual) If you have access to log files, check those, of course. Do you check the "from:" address for possible bounce mails ("Returned to sender")? You can also set up a separate "errors-to" address.

您可以考虑使用第三方电子邮件服务来处理投递问题:

确切的目标 垂直响应 不断的联系 竞选班长 艾玛 返回路径 IntelliContact ”

首先,您需要确保所需的电子邮件身份验证机制(如SPF和DKIM)到位。这两个是证明你是电子邮件的实际发件人,而不是真的被欺骗的重要方法。这降低了电子邮件被过滤为垃圾邮件的机会。

第二件事是,您可以根据不同的DNSBLs检查您的域名的反向DNS输出。在终端上使用以下简单命令:

  **dig a +short (domain-name).(blacklist-domain-name)**

  ie.  dig a +short example.com.dsn.rfc-clueless.org
  > 127.0.0.2

在上面的例子中,这意味着您的域名“example.com”被列入黑名单,但由于域设置合规(rfc-clueless.org列表域有合规问题)

注:我更喜欢multivalley和pepipost工具来检查域名列表。

从地址/回复到id应该是正确的,总是使用可见的退订按钮在你的电子邮件正文(这将帮助你的用户从你的电子邮件列表退出,而不损害你的域名声誉)

要允许DMARC检查SPF通过,并在使用sendmail时进行对齐,请确保将信封发件人地址(-f或-r参数)设置为与From:报头地址中的域匹配的内容。

PHP:

使用PHP内置的mail()函数而不设置第5个参数将导致DMARC SPF检查不对齐。默认情况下,sendmail将以web服务器的用户RFC5321发送电子邮件。MailFrom / Return路径头。

例如,假设您在host.com web服务器上托管您的网站domain.com。如果您不设置附加参数参数:

mail($to,$subject,$message,$headers); // Wrong way

电子邮件收件人将收到一封带有以下邮件标题的电子邮件:

Return-Path: <your-website-user@server.host.com>
From: <your-website-user@domain.com>

即使这通过了SPF检查,它也将是不对齐的(因为domain.com和host.com不匹配),这意味着DMARC SPF检查将失败为不对齐。

相反,你必须通过包含PHP mail()函数中的第5个参数将信封发件人地址传递给sendmail,例如:

mail($to,$subject,$message,$headers, '-r bounce_email@domain.com'); // Right way

在这种情况下,电子邮件收件人将收到一封带有以下邮件标题的电子邮件:

Return-Path: <bounce_email@domain.com>
From: <your-website-user@domain.com>

由于这两个报头都包含来自domain.com的地址,因此SPF将通过并对齐,这意味着DMARC也将通过SPF检查。

我的一个应用程序的电子邮件经常被标记为垃圾邮件。它是带有单个链接的HTML,我在正文中用text/ HTML内容类型将其作为HTML发送。

我对这个问题最成功的解决方法是编写电子邮件,让它看起来像是由电子邮件客户端生成的。

我将电子邮件更改为多部分/替代mime文档,现在我生成文本/纯文本和文本/html部分。

电子邮件不再被outlook检测为垃圾。