簡體   English   中英

簡單聯系表存在的問題

[英]Issues with simple contact form

對於任何菜鳥錯誤,我都表示歉意,因為這是我第一次真正嘗試將HTML / PhP聯系表單拼湊在一起。 我曾搜索過以前有相同問題的問題,但沒有發現任何實質內容。

問題是電子郵件未發送。 到目前為止,我已經嘗試了以下操作:-確認SMTP功能-確認這不是與主機相關的問題-在另一個模板上使用了此確切的表格/ PHP郵件程序,並且工作正常-檢查了垃圾郵件文件夾

這是聯系表格本身:

    <form action="contact.php" method="POST" id="contact-form" class="form">
    <input type="hidden" value="" name="check">
    <noscript>
    <p class="noscript">JavaScript is required to use this form, please make sure your browser supports it.</p>
    </noscript>
    <p class="input">
    <label for="name" class="label">Name</label>
    <input type="text" name="name" id="name">
    </p>
    <p class="input">
    <label for="company" class="label">Company</label>
    <input type="text" name="company" id="company">
    </p>
    <p class="input">
    <label for="email" class="label">Email</label>
    <input type="text" name="email" id="email">
    </p>
    <p class="input">
    <label for="phone" class="label">Phone</label>
    <input type="text" name="phone" id="phone">
    </p>
    <p class="dark input">
    <label for="title" class="label">Project Title</label>
    <input type="text" name="title" id="title">
    </p>
    <p class="dark input">
    <label for="timeline" class="label">Timeline</label>
    <input type="text" name="timeline" id="timeline">
    </p>
    <p class="dark textarea">
    <label for="details" class="label">Details</label>
    <textarea name="details" id="details"></textarea>
    </p>
    <p>
    <label for="send" class="send-label">Everything look good? Click send.</label>
    <input type="submit" value="Submit" name="submit" class="button">
    </p>
    </form>

這是PHP郵件程序:

    <?php
    $field_name = $_POST['name'];
    $field_company = $_POST['company'];
    $field_email = $_POST['email'];
    $field_phone = $_POST['phone'];
    $field_title = $_POST['title'];
    $field_timeline = $_POST['timeline'];
    $field_message = $_POST['details'];

    $mail_to = 'MyEmail@email.com';
    $subject = 'Quote request from '.$field_name;

    $body_message = 'From: '.$field_name."\n";
    $body_message .= 'E-mail: '.$field_email."\n";
    $body_message .= 'Message: '.$field_message;

    $headers = 'From: '.$field_email."\r\n";
    $headers .= 'Reply-To: '.$field_email."\r\n";

    $mail_status = mail($mail_to, $subject, $body_message, $headers);

    if ($mail_status) { ?>
    <script language="javascript" type="text/javascript">
    alert('Thank you for the message. We will contact you shortly.');
    window.location = 'contact.html';
    </script>
    <?php
    }
    else { ?>
    <script language="javascript" type="text/javascript">
    alert('Message failed. Please contact the webmaster.');
    window.location = 'contact.html';
    </script>
    <?php
    }
    ?>

僅供參考,“ MyEmail@email.com”不是我使用的電子郵件。 我出於隱私目的使用了替代品。

謝謝!

從PHP發送郵件充滿了困難。 您的代碼中可能沒有錯誤,但是由於(選擇了任意數量),郵件可能未送達:

  • 它似乎不是來自服務器上的電子郵件地址;
  • 默認情況下,出站電子郵件會被阻止,直到您要求;
  • 端口25上的出站郵件被阻止,您必須使用特定的服務器。
  • 您的服務器已列入黑名單;
  • 您的郵件被垃圾郵件過濾器阻止;
  • 其他原因。

讓生活變得輕松自在。 使用swiftmailerPHPmailer之類的庫來處理郵件的發送,並嘗試一些簡單的操作,例如將其傳遞到發送服務器上的地址。 然后從那里開始。 准備必須使用SMTP身份驗證,並可能需要付費的外部服務才能為您發送郵件。

$field_message為空白。 它在表單上然后在郵件處理腳本中在哪里?

暫無
暫無

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

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