php 邮件功能有点奇怪

Bit strange behavior of php mail function

我错误地在邮件功能中添加了发件人地址作为收件人地址。 它向收件人地址和发件人地址发送邮件,为什么?是否在任何地方记录?

$from = 'from_user@gmail.in';
$to = 'to_user@gmail.com';

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'To: ' . $to  . "\r\n";
$headers .= 'From: ' . $from . "\r\n";

$message = json_encode(compact('to', 'from', 'headers'));

  // NOTE THE FROM INSTEAD OF TO
mail($from, $subject, $message, $headers);

进一步评论并突出您的参考请求。这是 php 手册中的一个片段供参考。注意附加的第一行 headers:

// To send HTML mail, the Content-type header must be set
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// Additional headers
$headers .= 'To: Mary <mary@example.com>, Kelly <kelly@example.com>' . "\r\n";
$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";
$headers .= 'Cc: birthdayarchive@example.com' . "\r\n";
$headers .= 'Bcc: birthdaycheck@example.com' . "\r\n";

// Mail it
mail($to, $subject, $message, $headers);

所以您既通过 mail($to... 发送电子邮件(在您的情况下恰好是 $from),但您也在 [=14] 中发送 $to =]声明。