如何解决PHP联系人表单错误:HTML_MIME_NO_HTML_TAG,MIME_HTML_ONLY,MISSING_DATE

时间:2019-04-06 16:40:52

标签: php html contact-form spamassassin

我不擅长PHP,因此请耐心并可以理解。我的联系表中的电子邮件总是进入垃圾邮件文件夹。我在this site上进行了测试,它告诉我

  1. 仅HTML消息(HTML_MIME_NO_HTML_TAG)中没有HTML标记

  2. 我的邮件仅包含text / html MIME部分,我应该添加text / plain(MIME_HTML_ONLY)

  3. 我的邮件缺少标题:日期(MISSING_DATE)

  4. 他们的域名后面没有邮件服务器(MX记录),我应该为域名发布DNS记录(MX类型)

我知道其中一些问题曾经被问过,但是我不知道该怎么办,我认为我需要个人帮助。谢谢!

编辑:我还有两个问题:

  1. 没有SPF记录,我应该将域名添加到我的DNS区域文件中

  2. 邮件未由DKIM签名

我的HTML:

<div class="contact-form">

        <form id="contact-form" method="post" action="contact-form-handler.php">
            <input name="name" type="text" class="form-control" placeholder="Your Name" required>
            <br>
            <input name="email" type="email" class="form-control" placeholder="Your Email">
            <br>

            <textarea name="message" class="form-control" placeholder="Message" rows="40" required></textarea><br>

            <input type="submit" class="form-control" value="SEND MESSAGE">

        </form>
    </div>

我的PHP:

<?php 
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'From: mywebsite.com'; 
$to = 'someone@something.net'; 
$subject = 'Subject-line';
$body = "From: $name\n E-Mail: $email\n Message:\n $message";

$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html\r\n";
$headers .= 'From: '. $email. "\r\n" .
$headers .= "Reply-To: ". $email. "\r\n";
$headers .= "X-Mailer: PHP/" . phpversion();

$message = nl2br($message);

$status = mail($to, $subject, $message, $headers);

if($status)
    { 
        echo '<p>Your Message has been send!</p>';
    } else { 
        echo '<p>Something went wrong. Please try again.</p>'; 
    }
?>

0 个答案:

没有答案