Intereting Posts

Почта Swiftmailer входит в папку SPAM.

$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'].

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

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

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

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

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

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

Solutions Collecting From Web of "Почта Swiftmailer входит в папку SPAM."

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

 $headers .= "Message-ID: <".time()." TheSystem@".$_SERVER['SERVER_NAME'].">\r\n"; $headers .= "X-Mailer: PHP v".phpversion()."\r\n"; 

В версиях 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']);