2014-10-05 13 views
0

我有一個網站,人們可以註冊並需要在ordre中驗證才能使用他們的帳戶。不幸的是,有些人還沒有收到確認郵件..郵件PHP沒有達到一半的人

這裏是我使用

function mail_send($arr) { 
    if (!isset($arr['to_email'], $arr['from_email'], $arr['subject'], $arr['message'])) { 
    throw new HelperException('mail(); not all parameters provided.'); 
} 

$to   = empty($arr['to_name']) ? $arr['to_email'] : '"' . mb_encode_mimeheader($arr['to_name']) . '" <' . $arr['to_email'] . '>'; 
$from  = empty($arr['from_name']) ? $arr['from_email'] : '"' . mb_encode_mimeheader($arr['from_name']) . '" <' . $arr['from_email'] . '>'; 

$headers = array 
(
    'MIME-Version: 1.0', 
    'Content-Type: text/html; charset="UTF-8";', 
    'Content-Transfer-Encoding: 7bit', 
    'Date: ' . date('r', $_SERVER['REQUEST_TIME']), 
    'Message-ID: <' . $_SERVER['REQUEST_TIME'] . md5($_SERVER['REQUEST_TIME']) . '@' . $_SERVER['SERVER_NAME'] . '>', 
    'From: ' . $from, 
    'Reply-To: ' . $from, 
    'Return-Path: ' . $from, 
    'X-Mailer: PHP v' . phpversion(), 
    'X-Originating-IP: ' . $_SERVER['SERVER_ADDR'], 
); 

    mail($to, '=?UTF-8?B?' . base64_encode($arr['subject']) . '?=', $arr['message'], implode("\n", $headers)); 
} 

$arr = array(); 
$arr['to_email'] = $mail; 
$arr['from_email'] = "[email protected]"; 
$arr['subject'] = "Welcome [Validation]"; 
$arr['message'] = 'Thank you for registering, you're now able to fully use this website.'."<br><br>".'Username: <b>'.$username.'</b> Password :<b>'.$password.'</b>.'."<br><br>".' You need to validate in order to login...'."<br>".'<a href="a">Validate!</a>'."<br><br>".'Have fun!'."<br><br>".'--- The team.'; 

mail_send($arr); 

還與同一臺服務器上運行偉大的代碼,我已經得到了論壇的CMS(phpBB和的MyBB) 0問題涉及到電子郵件..

那麼,什麼是錯我的代碼...

謝謝!

+2

有你的控件,效果是否有人收到您的郵件外衆多變量有可能的。 – lagbox 2014-10-05 17:46:07

+0

簡短回答:滾動您自己的代碼是無效消息結構和格式化的祕訣。使用圖書館。 – Synchro 2014-10-05 19:01:49

+0

我現在使用phpmailer,但我收到很多錯誤..我敢打賭,這是因爲他們沒有把正確的電子郵件.. – cloud1250000 2014-10-06 20:41:28

回答

0

我可以看到你的代碼沒有錯,如果有我認爲即使一半不會得到任何郵件。我建議您聯繫您的主機提供商客戶服務部門。

+0

但我的論壇安裝如何能達到100%的速度.. – cloud1250000 2014-10-05 17:50:35

+0

好友有可能是託管服務提供商爲您設置的限制,請重新檢查。如果他們告訴你這是無限的,那麼肯定有一個限制,而且這個限制太小了。 – 2014-10-05 17:53:58

+0

您的代碼可能缺少重要的標題或發送的郵件頭被某些郵件服務器阻止,您的收件人地址也非常敏感。 – 2014-10-05 17:56:35