[PHP警告:mail():“sendmail_from”未在php.ini中设置或自定义“From:”标头丢失

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[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]

我不明白为什么?

答案

看来你的From标题格式不正确。试试这个:

$headers =  'MIME-Version: 1.0' . "
"; 
$headers .= 'From: Your name <info@address.com>' . "
";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "
"; 

mail($to, $subject, $body, $headers);
另一答案

看来你正在使用自己的PC / localhost / 127.0.0.1服务器,这就是你无法连接到SMTP服务器的原因。您只能使用类似的编码和一些修改从实时服务器发送邮件:)即添加一个参数“Header / From”。

mail("You@me.com","Answer","Hope You Vote My Answer Up","From: me@you.com");
另一答案
<?php
$to = "somebody@example.com";
$subject = "My subject";
$txt = "Hello world!";
$headers = "From: webmaster@example.com" . "
" .
"CC: somebodyelse@example.com";

mail($to,$subject,$txt,$headers);
?>
另一答案
<?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);

  }

  }
?>

以上是关于[PHP警告:mail():“sendmail_from”未在php.ini中设置或自定义“From:”标头丢失的主要内容,如果未能解决你的问题,请参考以下文章

[PHP警告:mail():“sendmail_from”未在php.ini中设置或自定义“From:”标头丢失

MIME 编码的折叠主题标头在调用 mail() 时导致警告

警告:mail() [function.mail]:无法在“localhost”端口 25 连接到邮件服务器

如何在 php 中通过 gmail 使用 mail()

SMTP 服务器问题,PHP 邮件

警告:mail() [function.mail]:无法在“localhost”端口 25 连接到邮件服务器,请验证您的“SMTP”和“smtp_port”,Windows XP 的 XAMPP