Swiftmailer не будет отправлять почту, но mail () - PullRequest
4 голосов
/ 24 августа 2010

PHP функция mail () отправляет почту нормально, но Swift_MailTransport Swiftmailer не работает!

Это работает:

mail('user@example.com', 'test '.date('H:i:s'), '');

Но это не так:

$transport = Swift_MailTransport::newInstance('');
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance('test '.date('H:i:s'))
  ->setFrom('user@example.com')
  ->setTo('user@example.com')
  ->setBody('Testing one two three');
$result = $mailer->send($message);

(user@example.com заменяется действительным адресом электронной почты в моем тестовом коде.)

Почтовые журналы для обоих событий выглядят очень похожими в обоих случаях, и кажется, что почта отправляется в последнем.

Может ли быть что-то в сообщении, созданном Swiftmailer, которое вызывает его блокировку спам-фильтром?

(Кстати, я пытался использовать транспорт SMTP, но неповезло, я подумал, что поскольку mail () работает правильно, переключиться на почтовый транспорт Swiftmail было бы тривиально ...)

1 Ответ

0 голосов
/ 21 сентября 2010

Какой почтовый сервер вы используете (например, ваш веб-сервер или Gmail, Yahoo!), это для SMTP Gmail,

$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, "ssl") 
          ->setUsername($login_id)
          ->setPassword($password)
          ;
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance('test '.date('H:i:s'))
          ->setFrom('user@example.com')
          ->setTo('user@example.com')
          ->setBody('Testing one two three');
$result = $mailer->send($message);

, если функция mail () работает, то SwiftMailer также должен работать.Надеюсь, это сработало для вас и помогло вам.

...