2014-01-29 45 views
2

我在dan.creativeloafing.com創建了一個php應用程序。這隻需要表單數據並用它構建一個html頁面,然後將該頁面的內容發送到[email protected]。幾天前,它停止工作。自那以後,我一直在試圖弄清楚這一點。我正在使用mail()php函數,並將它切換到PHPMailer庫。這應該是發送電子郵件,我得到確認,但沒有人收到電子郵件,我沒有反彈或任何錯誤。這是代碼的jist:PHPMailer不發送,但沒有錯誤

//PHPMailer 
$mail = new PHPMailer; 

$mail->isSMTP();         // Set mailer to use SMTP 
$mail->Host = 'relay-hosting.secureserver.net';  // Specify main and backup server 
$mail->Port = 25; 
$mail->SMTPAuth = false;       // Enable SMTP authentication 
$mail->SMTPSecure = 'tsl';       // Enable encryption, 'ssl' also accepted 
$mail->Username = '[email protected]';    // SMTP username 
$mail->Password = '*******';       // SMTP password 

$mail->SMTPDebug = 0; 

$mail->WordWrap = 50; 
$mail->From = '[email protected]'; 
$mail->FromName = 'DAN Application'; 
$mail->addAddress('[email protected]');    // Name is optional 
$mail->addReplyTo($repEmail); 
$mail->addCC('[email protected]'); 

$mail->isHTML(true); 

$mail->Subject = "New DAN Request: ".$campaignName; 
$mail->msgHTML(file_get_contents('./tmp/DAN_REQUEST_'.$specialString.$randomNumber.'.html')); 

if(!$mail->send()) { 
     echo '<br />Proposal could not be sent.<br />'; 
     echo 'Mailer Error: ' . $mail->ErrorInfo; 
     exit; 
} else { 
    echo 'Proposal has been sent'; 
} 

腳本總是達到'提案已發送'。太。這真讓我抓狂!

+0

發佈您的郵箱密碼這裏是一個壞主意,除非它是一個佔位符。 –

回答

0

使用try ... catch和PHPMailer(true); https://github.com/Synchro/PHPMailer/blob/master/examples/exceptions.phps

//Create a new PHPMailer instance 
//Passing true to the constructor enables the use of exceptions for error handling 
$mail = new PHPMailer(true); 

try { 

mail->isSMTP();         // Set mailer to use SMTP 
$mail->Host = 'relay-hosting.secureserver.net';  // Specify main and backup server 
$mail->Port = 25; 
$mail->SMTPAuth = false;       // Enable SMTP authentication 
$mail->SMTPSecure = 'tsl';       // Enable encryption, 'ssl' also accepted 
$mail->Username = '[email protected]';    // SMTP username 
$mail->Password = '*******';       // SMTP password 

$mail->SMTPDebug = 0; 

$mail->WordWrap = 50; 
$mail->From = '[email protected]'; 
$mail->FromName = 'DAN Application'; 
$mail->addAddress('[email protected]');    // Name is optional 
$mail->addReplyTo($repEmail); 
$mail->addCC('[email protected]'); 

$mail->isHTML(true); 

$mail->Subject = "New DAN Request: ".$campaignName; 
$mail->msgHTML(file_get_contents('./tmp/DAN_REQUEST_'.$specialString.$randomNumber.'.html')); 

$mail->send(); 
echo 'Proposal has been sent'; 

} catch (phpmailerException $e) { 
echo $e->errorMessage(); //Pretty error messages from PHPMailer 

} catch (Exception $e) { 
echo $e->getMessage(); //Boring error messages from anything else! 
} 
+0

我試過這個,它仍然回聲'已發送提案'。這是否意味着這個問題不是我的目的,而是與主持人(godaddy)? – user3250627

+0

這是可能的,嘗試改變與另一臺SMTP服務器 –

-1

思考的send()應該被髮送()

if(!$mail->Send()) { 
+0

請描述您的解決方案,以及它如何解決手頭的問題。這有助於未來的訪問者瞭解您的解決方案。 – War10ck

+0

正確的用法確實是$ mail-> send() – user3250627

1

那麼是什麼在這裏發生的是,GoDaddy的是阻止電子郵件,在其中包含我的域名。我不確定這是否是垃圾郵件問題,但他們目前正在研究它。我收到了使用簡單的mail()函數發送的電子郵件,並刪除了電子郵件中對omgsurvey.com的任何引用。愚蠢的是,這封郵件只發送到兩個電子郵件地址!

1

是不是:

$mail->SMTPSecure = 'tsl'; 

應該是:

$mail->SMTPSecure = 'tls'; 
相關問題