【问题标题】:Provider changes from PHP 5.3 to 5.4 - mail doesn't work anymore提供程序从 PHP 5.3 更改为 5.4 - 邮件不再起作用
【发布时间】:2014-12-15 05:19:00
【问题描述】:

自从我的提供程序更改为 PHP 5.4 以来,我似乎不想再发送使用 php 生成的邮件了。

5.4的php邮件有什么变化吗?

在 5.3 中我的代码工作正常:

$mime->setHTMLBody($html);
$mime->setTxtBody($text);
$pro_hdrs = array(
         'Content-Type'                 => 'text/html; charset=iso-8859-1',
         'Content-Transfer-Encoding'    => '8bit\r\n',
         'Date'                         => $mydate,
         'From'                         => '"Test"<test@test.com>',
         'To'                           => $email,
         'Reply-To'                     => $reply,
         'Subject'                      => $mysubject,
);
$pro_params["host"]     = 'somehost.com';
$pro_params["auth"]     = TRUE;
$pro_params["username"] = 'someuser';
$pro_params["password"] = 'somepw';
$body = $mime->get();
$pro_hdrs = $mime->headers($pro_hdrs);
 $pro_mail =& Mail::factory('smtp', $pro_params);
 $pro_mail->send($email, $pro_hdrs, $body);

希望你能提供一些帮助!

干杯, 汤姆

【问题讨论】:

  • 如果您将 error_repoting 设置为 E_ALL 以查看所有错误消息,这可能会有所帮助。下一步是向我们提供信息,您在那里使用哪个 Mail 类?
  • 什么是$mime?你使用 PHPMailer 吗? $pro_mail 是什么? Mail 类是什么?
  • 尝试从 Mail 类中删除 &
  • 问题是,服务器日志在那里没有显示任何错误...我使用 php 邮件(mail.php,mime.php),这是一个时事通讯循环。我在 2 年前复制了这个脚本,并且到今天它运行良好。 $pro_mail 没有任何意义。删除 & 没有任何效果

标签: php email php-5.4


【解决方案1】:

从以下行中删除 &amp;

$pro_mail =&amp; Mail::factory('smtp', $pro_params);

这样就变成了:

$pro_mail = Mail::factory('smtp', $pro_params);

它只是被弃用了。有趣的是它没有引发E_DEPRECATED 错误。 如果不是您的生产环境,您可以启用它们。

【讨论】:

    猜你喜欢
    • 2017-12-07
    • 1970-01-01
    • 2018-08-21
    • 2013-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-08
    • 1970-01-01
    相关资源
    最近更新 更多