2014-02-10 103 views
0

我已經安裝了Apache和Windows 8.1 PHP5,但不能從我的本地網站發送郵件,出現「警告消息:電子郵件()[function.mail]:無法連接到郵件服務器在 「本地主機」 端口25,驗證 「SMTP」 和 「SMTP_PORT」 在php.ini設置或使用的ini_set()在C:\ Web服務器\ APACHE2.2 \ htdocs中\的WebContent \ mailForm.php上線22" 。在下面的PHP代碼,我想它沒關係,因爲它正確地'回聲'。有人可以給出關於發生什麼的任何提示?謝謝。SMTP服務器的問題,PHP郵件

<?php 
$first_name = $_POST['first_name']; 
$last_name = $_POST['last_name']; 
$email = $_POST['email']; 
$message = $_POST['message']; 

$to = "[email protected]"; 
$subject = "New_message"; 


if (($first_name == "") || ($last_name == "") || ($email == "") || ($message == "")) 
{ 
echo '<script type="text/javascript">alert("Fill in all fields")</script>'; 
} 
else 
{ 
    mail($to, $subject, $message, "From:" . $first_name . $last_name); 
echo "Sucess; 
} 
?> 

回答

0

您確定在運行PHP的主機上運行郵件服務器嗎?你提到你安裝了apache和PHP,但你沒有提到你安裝了郵件服務器。如果沒有安裝郵件服務器,那就是你的問題。

如果事實上在主機上運行一個郵件服務器,那麼就意味着PHP配置不正確找到它。像下面創建一個小腳本,它使用phpinfo()打印出所有的PHP環境變量:

<? phpinfo(); ?> 

檢查的sendmail_path值。這是主機上郵件服務器的正確位置嗎?如果沒有,請將您的php.ini更改爲指向正確的位置。

如果實際上在主機上沒有運行郵件服務器,那麼您可以安裝一個郵箱服務器,也可以通過發送郵件通過其他地方託管的郵件服務器(如smtp.gmail.com if你有一個Gmail帳戶)。這可以使用phpmailer完成。以send email using Gmail SMTP server through PHP Mailer爲例。