Хорошо, у меня есть код для отправки писем. Я использую Swiftmailer , а транспортер - sendmail . Вот основной код:
$transport = \Swift_SendmailTransport::newInstance('/usr/sbin/sendmail -t -i');
$message = \Swift_Message::newInstance()
->setSubject('Notificatio')
->setFrom(array(BR_EMAIL => 'BR'))
->setTo(array($user->getEmail() => $user->getFirstName().' '.$user->getLastName()))
->setBody($msg, 'text/html', 'utf-8');
$headers = $message->getHeaders();
$headers->addIdHeader('Message-ID', time().'.'.uniqid('noreply').'@'.$_SERVER['SERVER_NAME']);
$headers->addTextHeader('X-Mailer', 'PHP v'.phpversion());
if(!$mailer->send($message, $failures)) {
echo "Failures:";
print_r($failures);
}
Теперь вот странная часть. Если получатель является пользователем Gmail, электронная почта никогда не попадает к нему. Метод send
не дает сбоев, но электронная почта теряется. Этого также нет в папке со спамом.
Но , если получатель является пользователем Gmail Business (электронная почта от движка Gmail с настраиваемым доменом), сообщения электронной почты принимаются и поступают в почтовый ящик.
Так в чем проблема? Gmail фильтрует почту? Или мне нужно добавить другие заголовки?
EDIT
Не знаю как, но проблема решена.