TL; DR: Письма, отправленные с общего хостинга (например, дешевый домен из Unoeuro или One.com), попадают в спам. Как исправить?
Я создал почтовую систему, которая сначала сгенерировала PDF файл (используя FPDF), после чего он отправил PDF- файл как приложение с PHP Swiftmailer. Это электронное письмо было отправлено 130 людям (в качестве "одного" счета). Но он попал в спам-фильтр почти для всех. Я попытался настроить параметры заголовка SwiftMailers, но без везения. Даже письма, которые я еще не отправил (тщательно протестированы). Это была моя первоначальная настройка:
function sendMailEt($toEmail, $toName, $invoiceNumber){
require_once('includes/lib/swift_required.php');
$transport = Swift_SmtpTransport::newInstance('mailout.one.com', 25)
->setUsername('[email protected]')
->setPassword('THE-PASSWORD')
;
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance('FROM COMPANY')
->setSubject('Thanks for signing up - COMPANY')
->setFrom(array('[email protected]' => '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 native mail()
-функции, а затем просто ссылку на счет-фактуру (http://www.company-domain-name.dk/invoice/base64_encoded-name.pdf
)... Тот же результат (спам).
Я попытался написать весь заголовок сам. Я читал множество форумов о том, какие заголовки должны включать, но все они писали разные вещи. Поэтому я попробовал несколько разных вещей (оба письма, которые я отправил ранее, и электронные письма, которых у меня не было)... Тот же результат (спам).
Затем я попытался написать заголовок точно так же, как MailChimps, в своем заголовке. Это привело меня к следующему:
$headers = "Reply-To: Company name <[email protected]>\r\n";
$headers .= "Return-Path: Company name <[email protected]>\r\n";
$headers .= "From: Message from Company name <U[email protected]>\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Sender: Message from Company name <[email protected]>\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). И я не могу определить SPF с One.com.
Все, что я хочу, это возможность отправлять письма, которые не попадают на спам.
Вот мои вопросы:
-
Это потому, что мой заголовок выключен, или это что-то "глубже"?
-
Включает ли фильтр спама Gmail отдельные учетные записи электронной почты (например,
[email protected]
) или запрещает целые домены (например,@example.com
)? - Можно ли получить черный список в черный список каким-то образом?
* Добавление 1 *
Хорошо... Я сейчас попробовал несколько вещей:
- Я попробовал добавить LoneWolfPR путь возврата, как рекомендовано, и это не помогло.
- Я связался с One.com(хостинговой компанией) и подтвердил с ними, что невозможно установить SPF-запись или DKIM-запись. Это еще не так.
- Я решил настроить ссылку "отказаться от подписки" со ссылкой на веб-сайт с формой, но я не верил этому подходу. Я имею в виду - счета-фактуры отправляются все время, с электронными письмами. И почему вы должны отказаться от подписки на счет? Так как это сделало так далеко от смысла в моей голове, то я только пробовал его около 20 минут (очевидно, без результатов).
Вот мой текущий заголовок электронной почты (получен из Gmail, нажав "Просмотр оригинала" ):
Delivered-To: [email protected]
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: <[email protected]>
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 [email protected]) 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 [email protected]AIN-NAME.dk) [email protected]
Date: Sat, 16 Mar 2013 17:32:55 -0700 (PDT)
Message-Id: <[email protected]>
Received: from localhost.localdomain (srv18.one.com [193.202.110.18])
by mail-out2.b-one.net (Postfix) with ESMTP id F3D0B10365
for <[email protected]>; 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 <[email protected]>
Subject: EMAIL-SUBJECT
X-PHP-Originating-Script: 87486:NAME-OF-THE-SCRIPT-THE-E-MAIL-WAS-SENT-FROM.php
Reply-To: COMPANY NAME <[email protected]>
From: Besked fra COMPANY NAME <[email protected]>
MIME-Version: 1.0
Sender: Besked fra COMPANY NAME <[email protected]>
Content-type: text/plain; charset="utf-8";
X-Mailer: PHP5.3.21