SwiftMail不发送我的电子邮件,而mail()确实有效.与
here相同.
我添加了EchoLogger,但它没有打印任何东西.
$message = Swift_Message::newInstance(); $message->setSubject('Test'); $message->setTo( $email ); $message->setFrom(ABSENDER); $message->setBody($nl_text); $transport = Swift_MailTransport::newInstance(); $mailer = Swift_Mailer::newInstance($transport); $logger = new Swift_Plugins_Loggers_EchoLogger(); $mailer->registerPlugin(new Swift_Plugins_LoggerPlugin($logger)); $result = $mailer->send($message,$failures); var_dump($failures);
电子邮件以$failure返回,但为什么?
更新
在Swift_Transport_SimpleMailInvoker :: mail中我抛弃了参数并得到了这个:
$headers => string(208) "Message-ID: <1337173064.4fb3a4480b8dd@domain.de> Date: Wed,16 May 2012 14:57:44 +0200 From: news@domain.de MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable " $extraParams => string(15) "-fnews@domain.de"
$to,$subject,$body与我在mail()中使用的相同.仍然不知道问题是什么.
更新#2
这对我很好:
mail($email,'Test',$nl_text,"From: " . ABSENDER);
免责声明:这不是一个解决方案,而是我使用的解决方法,因为我没有时间调试框架并找到真正的解决方案.您可以随意使用上面提供的信息来调试自己并在此处发布您的解决方案.我很乐意接受并赞成它.
我有同样的问题.
原文链接:https://www.f2er.com/php/135455.html根据文档swiftmailer.org默认情况下,Swift_MailTransport :: newInstance()使用参数-f%s,这就是为什么你得到“-fnews@domain.de”来解决-f%s之间的那个位置空格.
您的代码现在看起来像这样:
$message = Swift_Message :: newInstance(‘ – f%s’);
我只是将null传递给__construct()解决了这个问题.所以我的工作代码看起来像这样:
$message = Swift_Message :: newInstance(null);
我希望它会帮助某人.
附:我使用Postfix发送电子邮件.