2014-10-20 51 views
0

因为我的提供程序更改为PHP 5.4似乎,我用PHP生成的邮件不想再被发送。提供程序从PHP 5.3更改为5.4 - 邮件不再工作

是否有任何更改PHP邮件5.4?

在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"<[email protected]>', 
     '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); 

希望,可以给予一定的帮助!

干杯, 汤姆

+1

如果您将error_repoting设置为E_ALL以查看所有错误消息,这可能会有所帮助。下一步是给我们提供哪些信息,你在那里使用哪个Mail类? – Florian 2014-10-20 09:11:36

+1

'$ mime'是什么?你使用PHPMailer吗?什么是'$ pro_mail'?什么是Mail类? – Boldewyn 2014-10-20 09:12:01

+0

尝试删除&从邮件类 – AdRock 2014-10-20 09:14:48

回答

0

从以下行中删除&

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

,使其成为:

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

它只是过时。有趣的是,它没有引起E_DEPRECATED错误。 如果不是你的生产环境,你可以启用这些。