TL;DR:从共享主机发送的邮件(例如来自Unoeuro One.com的廉价域名)最终会变成垃圾邮件。怎么修?
我制作了一个邮件系统,它首先生成一个PDF文件(使用FPDF),然后它将PDF文件作为附件发送给PHP。这封电子邮件发送给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()
-function发送电子邮件,然后简单地链接到发票( 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);
..。同样的结果(垃圾邮件)。
has空间与One.com一起使用,所以我不能使用PHPmailer (因为必须安装它,而这不能在one.com的服务器上完成)。我也不能用One.com来定义防晒系数。
我所想要的就是能够发送不属于垃圾邮件的电子邮件。
以下是我的问题:
this@example.com
)还是禁止整个域(如@example.com
)?*加法1 *
好的..。我现在已经尝试了很多东西:
以下是我当前的电子邮件标题(通过单击“查看原件”从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
发布于 2013-05-23 06:09:28
至少有两个“垃圾邮件”的东西跳出你的电子邮件标题:
Message-Id: <51450f37.6a0b700a.6239.5dbcSMTPIN_ADDED_MISSING@mx.google.com>
注意到SMTPIN_ADDED_MISSING部分了吗?您的行为不像一个适当的邮递员和生成一个唯一的消息ID。您可能会发现阅读RFC 5322具有指导性。
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)
初始接收的头具有非法的HELO主机名(localhost.localdomain)。您的mailer应用程序应该为您提供一种将其设置为有效值的方法。它甚至可以像配置运行PHP的机器的主机名一样简单。请参见RFC 1035 (主机名有效性)、RFC 2821 (SMTP)和RFC 5321 (SMTP)。
https://stackoverflow.com/questions/15274157
复制相似问题