邮件发送功能抛出错误

时间:2019-10-28 17:48:28

标签: php email contact-form

php表单抛出错误处理消息,但我找不到问题所在。我试图删除验证,但最终还是遇到了同样的问题。

我收到的错误消息是“很抱歉,但电子邮件没有通过。”表示php开始处理表单,但邮件功能解析可能存在问题。

<div class="row">
        <div class="span8">
            <h4>تواصل معنا بتعبئة النموذج التالي</h4>

            <div id="sendmessage">تم إرسال الرسالة بنجاح</div>
            <div id="errormessage"></div>
            <form action="contactform.php" method="post" role="form" class="contactForm">
            <div class="row">
                <div class="span4 form-group field">
                <input type="text" name="visitor_name" id="name" placeholder="اللإسم" data-rule="minlen:4" data-msg="الرجاء إدخال الإسم كامل" />
                <div class="validation"></div>
                </div>

                <div class="span4 form-group">
                <input type="email" name="visitor_email" id="email" placeholder="البريد الإلكتروني" data-rule="email" data-msg="الرجاء إدخال بريد إلكتروني صالح" />
                <div class="validation"></div>
                </div>
                <div class="span8 form-group">
                <input type="text" name="email_title" id="subject" placeholder="الموضوع" data-rule="minlen:4" data-msg="الرجاء إدخال 8 أحرف على الأقل في الموضوع" />
                <div class="validation"></div>
                </div>
                <div class="span8 form-group">
                <textarea name="visitor_message" rows="5" data-rule="required" data-msg="الرجاء كتابة محتوى الرسالة"
                    placeholder="الرسالة"></textarea>
                <div class="validation"></div>
                <div class="text-center">
                    <button class="btn btn-theme btn-medium margintop10" type="submit" value="submit">إرسال البريد</button>
                </div>
                </div>
            </div>
            </form>
        </div>

<?php

if($_POST) {
    $visitor_name = "";
    $visitor_email = "";
    $email_title = "";
    $visitor_message = "";

    if(isset($_POST['visitor_name'])) {
        $visitor_name = filter_var($_POST['visitor_name'], FILTER_SANITIZE_STRING);
    }

    if(isset($_POST['visitor_email'])) {
        $visitor_email = str_replace(array("\r", "\n", "%0a", "%0d"), '', $_POST['visitor_email']);
        $visitor_email = filter_var($visitor_email, FILTER_VALIDATE_EMAIL);
    }

    if(isset($_POST['email_title'])) {
        $email_title = filter_var($_POST['email_title'], FILTER_SANITIZE_STRING);
    }

    if(isset($_POST['visitor_message'])) {
        $visitor_message = htmlspecialchars($_POST['visitor_message']);
    }

    else {
        $recipient = "info@domain.ly";
    }

    $headers  = 'MIME-Version: 1.0' . "\r\n"
    .'Content-type: text/html; charset=utf-8' . "\r\n"
    .'From: ' . $visitor_email . "\r\n";

    if(mail($recipient, $email_title, $visitor_message, $headers)) {
        echo "<p>Thank you for contacting us, $visitor_name. You will get a reply within 24 hours.</p>";
    } else {
        echo '<p>We are sorry but the email did not go through.</p>';
    }

} else {
    echo '<p>Something went wrong</p>';
}

?>

0 个答案:

没有答案