[PHP Предупреждение: mail(): "sendmail_from" не установлен в php.ini или пользовательский заголовок "From:" отсутствует

Я пытаюсь использовать функцию PHP mail() для отправки тестовой почты.

$to = "****@gourab.me";
$sub = "Php Mail";
$msg = "Test Message From PHP";

mail($to, $sub, $msg, "From: **********@gmail.com");

Когда я пытаюсь отлаживать его через step в phpdbg, он показывает сообщение:

[PHP Warning: mail(): " sendmail_from" not set in php.ini or custom "From:" header 
missing in C:/xampp/htdocs/tinyProj/mail.php on line 4]

Я не понимаю, почему?

Ответ 1

Кажется, что ваш заголовок From неправильно отформатирован. Вместо этого попробуйте:

$headers =  'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'From: Your name <[email protected]>' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

mail($to, $subject, $body, $headers);

Ответ 2

Bro кажется, что вы используете собственный сервер ПК /localhost/ 127.0.0.1, поэтому вы не можете подключиться к SMTP-серверу. Вы можете отправлять почту только с живого сервера с использованием аналогичного кода с некоторыми изменениями:) i.e добавьте один параметр "Заголовок/От".

mail("[email protected]","Answer","Hope You Vote My Answer Up","From: [email protected]");

Ответ 4

<?php
if(isset($_POST['send'])){
     $from =  $_POST['femail'];
     $phoneno = $_POST['phoneno'];
     $message = $_POST['message'];
     $carrier = $_POST['carrier'];
     if(empty($from)){
       echo("enter the email");
       exit();

     } 
else if(empty($phoneno)){
   echo("enter the phone no");
     exit();
   }
 elseif(empty($carrier)){
   echo("enter the specific carrier");
   exit();
    }
 else if(empty($message)){
  echo("enter the message");
  exit();
  }
  else{
     $message = wordwrap($message, 70);
     $header = $from;
     $subject = 'from submission';
     $to = $phoneno.'@'.$carrier;
     $result = mail($to, $subject, $message, $header);
     echo("message sent to".$to);

  }

  }
?>