PHP的mail()函数发送邮件很好,但Swiftmailer的Swift_MailTransport不起作用!
这有效:
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的Mail传输是微不足道的。)
答案 0 :(得分:-3)
您使用的是哪个邮件服务器(例如您的网络服务器或gmail,雅虎......) 这是针对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('user@example.com')
->setTo('user@example.com')
->setBody('Testing one two three');
$result = $mailer->send($message);
如果mail()函数有效,那么SwiftMailer也应该可以工作。 希望它对你有用,并帮助你。