簡體   English   中英

PHP聯系表格給出錯誤

[英]PHP contact form giving error

我的基本聯系表給我錯誤“發送郵件時出錯”。 當然,下面的代碼非常簡單,沒有針對垃圾郵件發送者或SQL注入的保護,但是目前我主要關心的是獲取消息發送。

預先感謝您提供的任何幫助,盡管問題很簡單。

HTML:

<form action="sendmail.php" method="post">
    <table>
        <tr>
            <td>Name:</td>
            <td><input type="text" name="Name" size="20" maxlength="40" /></td>
        </tr>
        <tr>
            <td>Email:</td>
            <td><input type="text" name="Email" size="20" maxlength="60" /></td>
        </tr>
        <tr>
            <td>Message:</td>
            <td><textarea  name="Message" maxlength="1000" cols="25" rows="6"></textarea></td>
        </tr>
    </table>
    <div align="left">
        <input name="submit" type="submit" />
    </div>
</form>

sendmail.php PHP:

<?php
    if(isset($_POST['submit'])) 
    {

        $name = $_POST['Name'];
        $email = $_POST['Email'];
        $message = $_POST['Message'];
        $from = 'From: CWON Australia';
        $to = "......@hotmail.com";
        $subject = "CWON Message";

        $content = "From: $name\n E-Mail: $email\n Message:\n $message";

        if(mail ($to, $subject, $content, $from)) {
            echo "mail has been sent";
        }
        else
        {
            echo "error during sending mail";
        }       
    }
?>

您的代碼正常運行,並且我假設您收到“郵件已發送”響應。

如果不是,那么您首先要檢查php.ini以獲取正確的sendmail路徑(我相信這是默認設置):

sendmail_path = / usr / sbin / sendmail -t -i

如果sendmail路徑正確,您是否在郵件日志中看到您的電子郵件? 我還將通過在服務器本身上郵寄您的用戶帳戶進行測試。

您更有可能被垃圾郵件過濾器所擁有,特別是如果您通過電子郵件發送到“ @ hotmail.com”地址。

請參閱此SO問題以獲取一些指導

mail()函數在php中不是很可靠,並且很難配置...所以我建議您使用PHPMailer發送郵件...您可以在此處閱讀有關如何使用PHPMailer發送郵件的所有信息: PHPMailer GitHUB

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM