2012-10-07 79 views
3

非常簡單的電子郵件表單代碼。曾經工作過一次,但不再工作,即使在不同的地址。也就是說,電子郵件不再顯示,但我不會錯過eather。簡單的PHP電子郵件表單不起作用

<form action="/mail-us.php" method="POST"> 
    <p>Name</p> <input type="text" name="name"> 
    <p>Email</p> <input type="text" name="email"> 
    <p>Message</p><textarea name="message" rows="6" cols="25"></textarea><br /> 
    <input type="submit" value="Send"><input type="reset" value="Clear"> 
</form> 

這裏是PHP

<?php $name = $_POST['name']; 
    $email = $_POST['email']; 
    $message = $_POST['message']; 
    $formcontent="From: $name \n Message: $message"; 
    $recipient = "[email protected]"; 
    $subject = "X-Matic Contact Form"; 
    $mailheader = "From: $email \r\n"; 
    mail($recipient, $subject, $formcontent, $mailheader) or die("Error sending email!"); 
?> 

注意,我測試的電子郵件與我的Gmail帳戶(通過Gmail電子郵件,而不是從形式到電子郵件)和它的工作。

+4

定義 「不工作」。郵件()返回false?你的SMTP服務器拒絕它?你有沒有檢查垃圾郵件文件夾? –

+0

當電子郵件腳本「不起作用」時,問題可能出現在代碼和收件箱之間的任何事件鏈中,其中大部分與代碼無關。您可以將它指向可以監視/控制的SMTP服務器,並查看它是否收到電子郵件?如果有,代碼正在工作。 – David

回答

0

使用SMTP郵件時在本地主機,並切換到郵件()一旦該網站是在網絡服務器(即您的虛擬主機提供商)

至少這是我做的。

0

除非你想在您的計算機上安裝Pegasus Mail,在mail()功能不會將您的本地主機計算機上工作,因爲你的電腦沒有安裝一臺郵件服務器。

要麼,要麼使用SMTP。

0
if(isset($_POST['submit'])) 
{ 
    $to = "[email protected]"; 
    $subject = "Email from Sender; // quotation marks end ; 
    $name_field = $_POST['name']; 
    $email_field = $_POST['email']; 
    $message = $_POST['message']; 
    $body = "From: $name_field\n E-Mail: $email_field\n Message:\n $message"; 

    mail($to, $subject, $body); 
} 
else 
{ 
    echo "Mail sending Failure!"; 
} 
?> 

試試這個