2011-07-27 33 views
0

我已經從net.i下載了一個聯繫腳本(與文件附件)我運行它在wamp(pc),但是當我點擊提交它顯示這個錯誤。你幫我這個錯誤幫助需要在php聯繫腳本與文件附件

警告:mail()[function.mail]:無法連接到「本地主機」端口25的郵件服務器,在php.ini中驗證您的「SMTP」和「smtp_port」設置或在C中使用ini_set :\上線38 稱S

和WAMP \ WWW \ contact.php可以請你告訴我,不管下面的腳本將工作或沒有如果沒有可以用建議文件附件的一個很好的接觸形式

<form action="" enctype="multipart/form-data" method="post"> 

    <label for="name">Name:</label><br/> 
    <input type="text" id="name" name="name" /><br/> 

    <label for="email">Email address:</label><br/> 
    <input type="text" id="email" name="email" /><br/> 

    <label for="topic">Subject:</label><br/> 
    <input type="text" id="topic" name="topic" /><br/> 
    <input type="hidden" name="MAX_FILE_SIZE" value="100000" /> 
    <label>Upload a Menu:</label> 
    <input type="file" name="file" size="20"><br> 


    <label for="comments">Your comments:</label><br/> 
    <textarea id="comments" name="comments" rows="5" cols="30"></textarea><br/> 

    <button name="submit" type="submit">Send</button> 

    </form> 
    <?php 
    if(isset($_POST['submit'])) 
    { 
    // Pick up the form data and assign it to variables 
    $name = $_POST['name']; 
    $email = $_POST['email']; 
    $topic = $_POST['topic']; 
    $comments = $_POST['comments']; 

    // Build the email (replace the address in the $to section with your own) 
    $to = '[email protected]'; 
    $subject = "Contact: $topic"; 
    $message = "$name said: $comments"; 
    $headers = "From: $email"; 

    // Send the mail using PHPs mail() function 
    mail($to, $subject, $message, $headers); 

    // Redirect 
    echo('<br> your mail has been send<br>'); 
    } 
    ?> 
+0

您使用的是哪個平臺?你是在本地主機還是Web服務器上?你有沒有改變你的php.ini文件到郵件功能? –

+0

我使用本地主機不,我不知道如何更改php.ini – test

回答

1

代碼沒有問題,切換到不同的腳本將無濟於事。

問題是您的計算機上沒有運行郵件服務器來發送郵件。

+0

感謝丹的回覆 – test

+0

你好丹能否幫助我。我已經上傳我的網站在網絡中,我加了我的聯繫表格給它。當我嘗試演示使用這個聯繫表格腳本,除了文件附件所有其他的東西都在工作。你可以幫助我 – test

-1

你的問題在於郵件功能,而不是提交表單。改變你的php.ini

1

正如丹·格羅斯曼提到,你的代碼是好的,你所得到的錯誤是SMTP設置

得到幫助。 我將嘗試解釋如何更正這些設置並設置localhost以使用您的gmail(或任何其他外部SMTP服務器)發送電子郵件。

首先,你需要找到php.ini文件,並設置sendmail_path,是這樣的:

sendmail_path = "C:\wamp\sendmail\sendmail.exe -t -i" 

查找 「Sendmail的」 文件夾sendmail.ini在WAMP的安裝,並添加以下內容:

smtp_server=localhost 
smtp_port=25 
default_domain=gmail.com 
auth_username=[yourgmailname]@gmail.com 
auth_password=[yourgmailpassword] 

重新啓動您的服務器。現在它應該能夠發送電子郵件。