Письма Swiftmailer отправляются в папку СПАМ - PullRequest
5 голосов
/ 11 февраля 2012
$headers = "\r\n" . "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";

$message = Swift_Message::newInstance()
                ->setSubject($subject)
                ->setFrom(array('from@mail.com' => 'From Address'))
                ->setTo(array('to@mail.com' => 'To Address'))
                ->setBody($message_plain_txt)
                ->addPart($message, 'text/html')
        ;
if ($file_name)
        {
            $message->attach(Swift_Attachment::fromPath($file_path));
        }

$result = $mailer->send($message);

В этом случае $ filepath - это путь tmp, который я использую, когда пользователь присоединяет файлы из формы, а $ file_name - это имя файла tmp $ _FILES ['file'] ['name'].

В этой настройке я могу отправлять почту, но когда есть вложение, почта попадает в папку СПАМ.Если вложение отсутствует, то почта поступает в папку «Входящие».

Эта настройка прекрасно работает, когда я загружаю файл из местоположения и не отправляю вложение из формы.

Я думаю, что эточто-то делать с заголовками писем, но я не могу выяснить ошибку.

Может кто-нибудь, пожалуйста, помогите мне с той ошибкой, которую я здесь делаю.

Получил, что работаетизменение заголовков на

$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\n";

Ответы [ 2 ]

6 голосов
/ 11 февраля 2012

Добавьте следующие заголовки, чтобы избежать перехода в папку со спамом:

$headers .= "Message-ID: <".time()." TheSystem@".$_SERVER['SERVER_NAME'].">\r\n";
$headers .= "X-Mailer: PHP v".phpversion()."\r\n";         
3 голосов
/ 25 марта 2015

В версиях SwiftMailer 2015 года для установки заголовков вы использовали бы встроенный метод getHeaders().

$headers =& $message->getHeaders();
$headers->addIdHeader('Message-ID', "b3eb7202-d2f1-11e4-b9d6-1681e6b88ec1@domain.com");
$headers->addTextHeader('MIME-Version', '1.0');
$headers->addTextHeader('X-Mailer', 'PHP v' . phpversion());
$headers->addParameterizedHeader('Content-type', 'text/html', ['charset' => 'utf-8']);
...