TL;DR: 来自共享主机(例如来自Unoeuro或One.com的便宜域名)的邮件最终会被标记为垃圾邮件。如何解决?
我制作了一个邮件系统,首先使用FPDF生成PDF文件,然后使用PHP的Swiftmailer将PDF文件作为附件发送。这份电子邮件发送给了130人(作为一次性发票)。但是几乎所有人都将其列入垃圾邮件过滤器中。我尝试调整SwiftMailers标题设置,但没有成功。即使测试过之前未曾发送过的邮件也是如此。 这是我的初始设置:
function sendMailEt($toEmail, $toName, $invoiceNumber){
require_once('includes/lib/swift_required.php');
$transport = Swift_SmtpTransport::newInstance('mailout.one.com', 25)
->setUsername('EMAIL-ACCOUNT1@THE-DOMAIN.DK')
->setPassword('THE-PASSWORD')
;
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance('FROM COMPANY')
->setSubject('Thanks for signing up - COMPANY')
->setFrom(array('EMAIL-ACCOUNT1@THE-DOMAIN.DK' => 'Company name'))
->setTo(array($toEmail => $toName))
->setBody('A brief body, that explains that this is an invoice and that it has to be paid within 5 days. (written in danish)')
->addPart('A brief body, that explains that this is an invoice and that it has to be paid within 5 days. (written in danish)', 'text/html')
->attach(Swift_Attachment::fromPath('/URL-TO-THE-PDF-FILE.pdf'))
;
$result = $mailer->send($message);
}
我还尝试使用PHP的本地mail()
函数发送电子邮件,然后简单地链接到发票(http://www.company-domain-name.dk/invoice/base64_encoded-name.pdf
)...同样的结果(垃圾邮件)。
我试着自己编写整个标题。我阅读了许多关于标题应包括什么的论坛,但它们都写了不同的内容。因此,我尝试了几种不同的方法(既有我之前发送的电子邮件也有我没有发送的电子邮件)...同样的结果(垃圾邮件)。
然后我尝试按照MailChimps的标题完全编写,这导致我得到了这个:
$headers = "Reply-To: Company name <UNUSED-EMAIL-ACCOUNT-FROM-DOMAIN@DOMAIN-NAME.DK>\r\n";
$headers .= "Return-Path: Company name <UNUSED-EMAIL-ACCOUNT-FROM-DOMAIN@DOMAIN-NAME.DK>\r\n";
$headers .= "From: Message from Company name <UNUSED-EMAIL-ACCOUNT-FROM-DOMAIN@DOMAIN-NAME.DK>\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Sender: Message from Company name <UNUSED-EMAIL-ACCOUNT-FROM-DOMAIN@DOMAIN-NAME.DK>\r\n";
$headers .= "Content-type: text/plain; charset=\"utf-8\"; \r\n";
$headers .= "X-Mailer: PHP". phpversion() ."\r\n";
然后我这样发送邮件:
mail($toName . '<'.$toEmail.'>', utf8_decode('Faktura på depositumet'), utf8_decode($someMessage), $headers);
...同样的结果(垃圾邮件)。
网站空间是由One.com提供的,因此我无法使用PHPmailer(因为必须安装它,而且不能在One.com的服务器上完成)。另外我也不能定义一个与One.com相关的SPF记录。
我想要的就是能够发送不会被归类为垃圾邮件的电子邮件。
这里是我的问题:
是否因为我的标题行有问题,还是有其他更深层次的原因?
Gmail垃圾邮件过滤器是禁止单个电子邮件帐户(例如
this@example.com
)还是整个域名(例如@example.com
)?是否有方法可以使被列入黑名单的电子邮件重新被列入白名单?
* 补充 1 *
好的...我现在已经尝试了很多事情:
- 我尝试添加LoneWolfPR的回传路径,但并没有起到作用。
- 我联系了托管公司One.com,并确认他们的确无法设置SPF记录或DKIM记录。现在还是不行。
- 我考虑设置一个“取消订阅”链接,链接到一个带有表单的网站,但我并不相信这种方法。毕竟发票都是通过电子邮件发送的,你为什么应该能够取消发票?因为这在我的头脑中与常识相距太远,所以我只尝试了大约20分钟(显然没有结果)。
这是我的当前电子邮件标题行(从Gmail中获取,通过点击“查看原始邮件”):
Delivered-To: NEWLY-CREATED-GMAIL-ACCOUNT@gmail.com
Received: by 10.76.75.104 with SMTP id b8csp48728oaw;
Sat, 16 Mar 2013 17:32:56 -0700 (PDT)
X-Received: by 10.152.116.45 with SMTP id jt13mr7897860lab.0.1363480376067;
Sat, 16 Mar 2013 17:32:56 -0700 (PDT)
Return-Path: <XXX111@DOMAIN-NAME.dk>
Received: from mail-out2.b-one.net (mail-out2.one.com. [91.198.169.19])
by mx.google.com with ESMTP id p10si4637427lbb.120.2013.03.16.17.32.55;
Sat, 16 Mar 2013 17:32:55 -0700 (PDT)
Received-SPF: neutral (google.com: 91.198.169.19 is neither permitted nor denied by best guess record for domain of XXX111@DOMAIN-NAME.dk) client-ip=91.198.169.19;
Authentication-Results: mx.google.com;
spf=neutral (google.com: 91.198.169.19 is neither permitted nor denied by best guess record for domain of XXX111@DOMAIN-NAME.dk) smtp.mail=XXX111@DOMAIN-NAME.dk
Date: Sat, 16 Mar 2013 17:32:55 -0700 (PDT)
Message-Id: <51450f37.6a0b700a.6239.5dbcSMTPIN_ADDED_MISSING@mx.google.com>
Received: from localhost.localdomain (srv18.one.com [193.202.110.18])
by mail-out2.b-one.net (Postfix) with ESMTP id F3D0B10365
for <NEWLY-CREATED-GMAIL-ACCOUNT@gmail.com>; Sun, 17 Mar 2013 01:32:53 +0100 (CET)
Received: from 85.218.159.219 by www.DOMAIN-NAME.dk via URL_TO_THE_SCRIPT.php with HTTP; Sun, 17 Mar 2013 00:32:53 +0000
To: RECIEVERS_NAME <NEWLY-CREATED-GMAIL-ACCOUNT@gmail.com>
Subject: EMAIL-SUBJECT
X-PHP-Originating-Script: 87486:NAME-OF-THE-SCRIPT-THE-E-MAIL-WAS-SENT-FROM.php
Reply-To: COMPANY NAME <XXX111@DOMAIN-NAME.dk>
From: Besked fra COMPANY NAME <XXX111@DOMAIN-NAME.dk>
MIME-Version: 1.0
Sender: Besked fra COMPANY NAME <XXX111@DOMAIN-NAME.dk>
Content-type: text/plain; charset="utf-8";
X-Mailer: PHP5.3.21