2012-11-23 71 views
2

因此,我正在爲一位好友開發一個Wordpress安裝程序,並將表單發送到他的電子郵件地址。我一直在測試了郵件功能和..嗯,好像之後的時間我測試了一定數量時,它只是停止工作......PHP郵件只是有時候工作,其他人不是?

我有一個

if(mail(...)) 
    echo " =) things are workin out all right..."; 
else 
    echo "fuk..."; 

語句檢查,看看郵件是否正在發送..過了一段時間,它只是停止工作。

是否有一個設置限制可以設置的郵件數量?我只是發送太多郵件?!

現在..我等待一段時間(比如天)後,郵件被突然再次合作...唔...

+2

您使用的是什麼主機?有些主機會限制每分鐘/小時/天發送多少條消息。 –

+0

就是這樣,我真的不確定。我只能通過FTP訪問Wordpress安裝。我想那一定是吧。 – connorbode

+0

我知道000Webhost,Hosting24,HourB,PowrHost等主機(例如'Main Hosting'運行的所有主機)限制了消息的數量。他們也只允許您發送總計1000條消息。 –

回答

2

有些主機限制多少信息可以每分鐘/小時/天發送。


要解決這個問題,我成立了第二個Gmail帳戶從使用PHPMailer腳本發送消息,則使這個腳本(稱爲mail.php):

<?php 
include_once 'phpmailer/class.phpmailer.php'; 
function do_mail($from, $name, $to, $subject, $message, $debug = false) { 
    $blah = base64_decode('base64-encoded password here'); 
    $mail = new PHPMailer(); 
    $mail->IsSMTP(); 
    if($debug) $mail->SMTPDebug = 2; 
    $mail->SMTPAuth = true; 
    $mail->SMTPSecure = 'tls'; 
    $mail->Host = 'smtp.gmail.com'; 
    $mail->Port = 587; 
    $mail->Username = '[email protected]'; 
    $mail->Password = $blah; 
    $mail->SetFrom($from, $name); 
    $mail->AddAddress($to, $to); 
    $mail->Subject = $subject; 
    $body = $message; 
    $mail->MsgHTML($body); 
    $mail->AltBody = $message; 
    if($mail->Send()) { 
     return true; 
    } else { 
     return $mail->ErrorInfo; 
    } 
} 
?> 

然後,發送消息:

<?php 
include_once 'mail.php'; 
$result = do_mail('[email protected]', 'First Last', '[email protected]', 'Subject here', 'message here'); 
// Or, with debugging: 
$result = do_mail('[email protected]', 'First Last', '[email protected]', 'Subject here', 'message here', true); 
// Print the result 
var_dump($result); 
?> 
相關問題