2014-04-01 48 views
0

我有我的網站上的表單頁面,用戶必須輸入他的電子郵件ID。一旦他這麼做,一封電子郵件就會被觸發。我已經使用了mail()函數,但電子郵件未通過。這是在遠程服務器上。我錯過了什麼嗎?以下是我正在使用的PHP代碼。電子郵件不通過使用郵件()函數

<?php 
$to  = '[email protected]'; 
$subject = 'Demo mail'; 
$message = 'This is a demo mail. Please reply to make sure the mail communication is okay.'; 
$headers = 'From: [email protected]' . "\r\n" . 
    'Reply-To: [email protected]' . "\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 
if (mail($to, $subject, $message, $headers)) { 
    echo("<p>Email successfully sent!</p>"); 
    } else { 
    echo("<p>Email delivery failed</p>"); 
    } 
?> 

輸出是電子郵件遞送失敗! 除了這個,我應該做些什麼?先謝謝你!

+0

你在本地主機上試試這個嗎? – sunny

+0

也許有用[發送本地郵件](http://stackoverflow.com/questions/21149535/send-mail-from-local-apache-server) – Debflav

+0

@Sudhir郵件()函數不工作...所以郵件不會通過 – Phantom

回答

0

mail()函數依賴於運行程序的服務器的電子郵件配置。您應該查看您的服務器電子郵件配置,或者使用庫來連接外部SMTP服務,例如Gmail或您的某個電子郵件服務器。我建議雨燕電子郵件庫,這是衆所周知的,它是徹底的測試和背後都有一個偉大的社會:對SMTP連接

http://swiftmailer.org/

0

檢查的php.ini配置文件或添加的ini_set(「SMTP」,「IP_ADDRESS 「);在你的腳本中。

您還可以用腳本包裝錯誤處理程序來調試SMTP連接。