2014-10-20 90 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錯誤。 如果不是你的生產環境,你可以啓用這些。