好的,我有一个发送电子邮件的代码。我正在使用 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过滤邮件吗?或者我是否需要添加其他标题?
修改 不知道怎么回事,但问题解决了。