views:

19

answers:

1

PHP's mail() function sends mail fine, but Swiftmailer's Swift_MailTransport doesn't work!

This works:

mail('[email protected]', 'test '.date('H:i:s'), '');

But this does not:

$transport = Swift_MailTransport::newInstance('');
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance('test '.date('H:i:s'))
  ->setFrom('[email protected]')
  ->setTo('[email protected]')
  ->setBody('Testing one two three');
$result = $mailer->send($message);

(The [email protected] is replaced by a valid email address in my test code.)

The mail logs for both events look very similar in both cases, and it appears that mail is being sent in the latter.

Could there be something about the message constructed by Swiftmailer that is causing it to be blocked by a spam filter?

(By the way, I have tried using the SMTP transport, with no luck; I figured that since mail() works correctly, it would be trivial to switch to Swiftmail's Mail transport...)

A: 

Which mail server are you using(like your web server or gmail,yahoo..) this is for gmail SMTP,

$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('[email protected]')
          ->setTo('[email protected]')
          ->setBody('Testing one two three');
$result = $mailer->send($message);

if mail() function works, then SwiftMailer should also work. Hope it worked for you, and helped you.

Harish Kurup