Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP邮件函数。。。。请检查代码。。。。我的邮件会变成垃圾邮件,我会收到这么多不需要的查询?_Php_Function_Email_Spam_Spam Prevention - Fatal编程技术网

PHP邮件函数。。。。请检查代码。。。。我的邮件会变成垃圾邮件,我会收到这么多不需要的查询?

PHP邮件函数。。。。请检查代码。。。。我的邮件会变成垃圾邮件,我会收到这么多不需要的查询?,php,function,email,spam,spam-prevention,Php,Function,Email,Spam,Spam Prevention,请检查以下PHP邮件函数代码。对不对?我的邮件变成了垃圾邮件。在下面的代码中,我收到了邮件,但邮件以垃圾邮件的形式出现。如果我检查gmail中的原始文本,则显示dmare失败 <?php $your_email = 'yjangir15@gmail.com'; $errors = ''; $name = ''; $visitor_email = ''; $phone = ''; $user_message = ''; if(isset($_POST['submit'])) { $

请检查以下PHP邮件函数代码。对不对?我的邮件变成了垃圾邮件。在下面的代码中,我收到了邮件,但邮件以垃圾邮件的形式出现。如果我检查gmail中的原始文本,则显示dmare失败

<?php 
$your_email = 'yjangir15@gmail.com';
$errors = '';
$name = '';
$visitor_email = '';
$phone = '';
$user_message = '';
if(isset($_POST['submit']))
{
    $name = $_POST['name'];
    $visitor_email = $_POST['email'];
    $phone = $_POST['phone'];
    $user_message = $_POST['query'];
    ///------------Do Validations-------------
    if(empty($name)||empty($visitor_email)||empty($phone))
    {
        $errors .= "\n Name, Email ID and Phone Number. ";  
    }
    if(IsInjected($visitor_email))
    {
        $errors .= "\n Bad email value!";
    }
    if(empty($_SESSION['6_letters_code'] ) ||
    strcasecmp($_SESSION['6_letters_code'], $_POST['6_letters_code']) != 0)
    {
        $errors .= "\n Wrong Captcha Code!!!";
    }
    if(empty($errors))
    {   
        //send the email
        $to = $your_email;
        $subject="New Admission Enquiry";
        $from = $visitor_email;
        $ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '';
        $body ='
  <title>A student $name submitted the admission enquiry</title>
  <h1>A student ' . $name . ' submitted the admission enquiry</h1>
  <p>Here are the Details!</p>
  <table>
    <tr>
      <td><b>Name:</b></td><td>' . $name . '</td>
    </tr>
    <tr>
      <td><b>Email Address:</b></td><td>' . $visitor_email . '</td>
    </tr>
    <tr>
      <td><b>Contact No:</b></td><td>' . $phone . '</td>
    </tr>
    <tr>
      <td valign="top"><b>Query:</b></td><td>' . $user_message . '</td>
    </tr>
    <tr>
      <td><b>IP Address:</b></td><td>' . $ip . '</td>
    </tr>
  </table>
 '; 
        $seprator = md5(time());
        $eol = PHP_EOL;
        $headers = "From: " .($from) . "\r\n";
        $headers .= "Reply-To: ".($from) . "\r\n";
        $headers .= "Return-Path: ".($from) . "\r\n";;
        $headers .= "MIME-Version: 1.0\r\n";
        $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
        $headers .= "X-Priority: 3\r\n";
        $headers .= "X-Mailer: PHP". phpversion() ."\r\n";
        mail($to, $subject, $body, $headers);
        header('Location: thankyou.php');
    }
}
function IsInjected($str)
{
 $injections = array('(\n+)',
          '(\r+)',
          '(\t+)',
          '(%0A+)',
          '(%0D+)',
          '(%08+)',
          '(%09+)'
          );
$inject = join('|', $injections);
$inject = "/$inject/i";
if(preg_match($inject,$str))
{
    return true;
}
else
{
    return false;
}
}
?>

首先,由于脚本中使用的许多变量都是用户生成的,因此您应该清理输入变量以避免来自用户的恶意代码

你的电子邮件最终被放入垃圾邮件文件夹的原因有很多。两个最重要的因素是您使用的电子邮件服务器(正确的配置、发件人信誉等)和电子邮件内容。在您的情况下,您发送的是html格式的电子邮件,但您的标记不完整,缺少html和正文标记来包装当前标记。在电子邮件标记中设置字符集也是一个好主意,可以确保在收件人端正确呈现字符。避免使用ISO-8859-1,如有可能,使用UTF-8

我建议您使用电子邮件库来发送这些电子邮件,而不是使用php mail()函数。看一看流行的图书馆

<> P>还有云计算电子邮件服务,因为它们与启动自己的电子邮件服务器相比,从开始时有良好的发件人声誉。p>
关于“不需要的查询”,您需要提供更多详细信息,以便我们能够帮助您。

首先,由于脚本中使用的许多变量都是用户生成的,因此您应该清理输入变量,以避免来自用户的恶意代码

你的电子邮件最终被放入垃圾邮件文件夹的原因有很多。两个最重要的因素是您使用的电子邮件服务器(正确的配置、发件人信誉等)和电子邮件内容。在您的情况下,您发送的是html格式的电子邮件,但您的标记不完整,缺少html和正文标记来包装当前标记。在电子邮件标记中设置字符集也是一个好主意,可以确保在收件人端正确呈现字符。避免使用ISO-8859-1,如有可能,使用UTF-8

我建议您使用电子邮件库来发送这些电子邮件,而不是使用php mail()函数。看一看流行的图书馆

<> P>还有云计算电子邮件服务,因为它们与启动自己的电子邮件服务器相比,从开始时有良好的发件人声誉。p>
关于“不需要的查询”,您需要提供更多详细信息,以便我们能够帮助您。

还有许多外部因素可以控制垃圾邮件,例如服务器反向dns条目、spf记录、,发送60条消息,中间间隔4秒-我不确定SSL现在是否有分量-但它并不总是代码-还有许多外部因素可以控制垃圾邮件-例如服务器反向dns条目、spf记录,发送60条消息,中间间隔4秒-我不确定SSL现在是否有任何影响-但它并不总是代码