2013-04-11 75 views
0

我正在製作聯繫表格,以便有人可以將郵件發送到指定的電子郵件。不過,我得到一個錯誤信息,這是非常持久的,不會消失:使用本地WAMP服務器測試聯繫表格

Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\mail.php on line 10 

我試過行指定的10投入的ini_set(),但它不會改變任何東西。我試圖研究可能的情況,但到目前爲止還沒有遇到任何問題。我在想也許WAMP不支持郵件。


HTML代碼

<form action = "mail.php" method= "POST"> 
    <p>Name</p> <input name = "name" type = "text"> 
    <p>Email</p> <input name = "email" type = "text"> 

    <p>Message</p><textarea name = "message" rows = "6" cols = "25"></textarea><br /> 
    <input value = "Send" type = "submit" > 
    <input value = "Reset Form" type = "reset"> 
</form> 

凡形式成功地將數據發送通過提交按鈕mail.php。


PHP代碼

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

$recipient = "To: [email protected]"; 
$mailheader = "From: $name \r\n"; 
$formcontent= "From: $email \r\n Message: $message"; 

mail($recipient, $mailheader, $formcontent) or die("Error!"); 
echo "Your message has been delivered." . " -" . "<a href='form.html' style='text-decoration: none; color: #ff0099;'> Return Home </a>"; 
?> 

凡mail.php應該採取$收件人,$ mailheader和$ formcontent並通過電子郵件發送到指定的地址。

任何幫助,非常感謝。

+0

是否正確地設置了您的郵件設置? – 2013-04-11 01:10:54

+0

可能相關/重複:http://stackoverflow.com/questions/1993070/sending-emails-with-wamp – 2013-04-11 01:23:21

+0

看起來並不像它。甚至像REQUEST這樣的其他基本的東西都是空的(沒有任何語法錯誤)。截至目前,我猜這很可能是我的php.ini中有一些問題。 – Time 2013-04-16 04:02:19

回答

0

難道ü嘗試檢查,如果您的郵件服務器是否配置或配置像這樣的樣品

// Please specify your Mail Server - Example: mail.example.com. 

ini_set("SMTP","mail.example.com"); 
// Please specify an SMTP Number 25 and 8889 are valid SMTP Ports. 

ini_set("smtp_port","25"); 

// Please specify the return address to use 

ini_set('sendmail_from', '[email protected]') 
; 

或檢查你的php.ini文件這一點。繼承人樣本配置。

[mail function] 
; For Win32 only. 
SMTP = localhost 
smtp_port = 25 

; For Win32 only. 
;sendmail_from = [email protected] 
; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). 
+0

我按照你的建議更改了.ini文件,但它仍然無法工作。 – Time 2013-04-13 00:51:05

2

您沒有在端口25上運行的郵件服務器(最有可能是這種情況),或者您有一個阻止該端口的軟件防火牆。


注意,即使本地運行的郵件服務器,您的ISP將最有可能阻止端口25 - 一個正常的做法,以防止垃圾郵件。

要從本地服務器進行測試,並確保電子郵件實際交付,您很可能需要使用外部電子郵件提供程序 - 並在除25之外的端口上連接到它。Gmail的SMTP服務器(TLS,端口465)將在這裏創造奇蹟,但您需要通過Gmail帳戶進行身份驗證和發送。

相關問題