Не получать сообщения электронной почты из функции php mail()

Недавно я изучал HTML, js, CSS и PHP, создавая веб-страницы и размещая их на моем сервере apache2, размещенном на моем малине pi, с адресом no-ip.com. Мой первый реальный проект по изучению PHP создавал простую форму, чтобы затем отправить мне электронное письмо, но я продолжаю сталкиваться с проблемой выполнения функции mail() без каких-либо ошибок, но фактически не отправляя электронные письма.

Вот форма:

<form class="" action="/FormTesting/sendMail.php" method="post">
  Name:<br><input type="text" name="name" value="" required><br>
  Email:<br><input type="text" name="email" value="" required><br>
  Message:<br><textarea name="message" rows="8" cols="80" required></textarea><br>
  Subject:
  <input type="radio" name="subject" value="Hello!">Hello!
  <input type="radio" name="subject" value="Whats up">Whats Up!<br>
  <input type="submit" name="submit" value="Submit">
</form>

Вот ссылка на файл PHP в атрибуте "действие":

<?php
if($_SERVER["REQUEST_METHOD"] == "POST") {
  $to = "[email protected]";
  $name = $_POST["name"];
  $email = $_POST["email"];
  $message = $_POST["message"];
  $subject = $_POST["subject"];

  echo $name;
  echo $email;
  echo $message;
  echo $subject;

  $headers = array("From: " . $email,
"Reply-To: " . $to,
"X-Mailer: PHP/" . PHP_VERSION);

  mail($to, $subject, $message, $header);

} else {
  echo $_SERVER["REQUEST_METHOD"];
}
?>

Я понимаю, что этот вопрос был задан раньше, и я пробовал большинство методов, изложенных в других ответах, но мне все еще не кажется, что функция PHP mail() работает. Самая лучшая информация, которую я имею, это то, что я должен сделать какую-то установку или форматирование на самом сервере, чтобы отправлять электронные письма, но мне еще предстоит найти документацию и/или объяснение. (например, phpMailer? - но все же... как?)

EDIT:

Я проверил возвращаемое значение функции почты.,

  if(mail("[email protected]", "subject", "message", $headers)) {
    echo "TRUE";
  }else {
    echo "FALSE";
  } 

., и оказывается, что он возвращает ложь. Я предполагаю, что это означает, что это ошибка в моем коде, тогда?

EDIT:

По-видимому, я был неясно, когда сказал, что делаю исследования, прежде чем публиковать этот вопрос. Я попробовал все, что было дано как ответ на вопрос, что мой был закрытым, как "дубликат", поэтому я задаю вопрос в любом случае.

Ответ 1

Я попробовал тот же script и получил электронное письмо. Но он попал в папку со спамом. Заголовок должен иметь более подробную информацию. Вы можете проверить код возврата функции почты, чтобы убедиться, что функция выполнена успешно. Ниже приведена наилучшая практика.

            $boundary = "==MP_Bound_xyccr948x==";
        $headers = "MIME-Version: 1.0\r\n";
        $headers .= "Content-type: multipart/alternative; boundary=\"$boundary\"\r\n";
        $headers .= "From: OrganizationName <[email protected]>\r\n";
        $headers .= "Return-path: [email protected]\r\n";


        $message = "This is a Multipart Message in MIME format\n";
        $message .= "--$boundary\n";
        $message .= "Content-Type: text/plain; charset=\"utf-8\"\n";
        $message .= "Content-Transfer-Encoding: 7bit\n\n";
        $message .= $user_entered_message . "\n";
        $message .= "--$boundary--";
        $mailsent = mail($to, $subject, $message, $headers, "[email protected]");

        if ($mailsent) 
        {
         confirmation_msg();
        } 
        else 
        {
         email_error_msg();
        }