Я не могу отправлять электронную почту через PHP-функцию почты, пока я указываю массив $ headers как
$headers = array (
'From' => "[email protected]",
'Content-type' => "text/html;charset=UTF-8");
или же
$headers=array(
'From: "[email protected]',
'Content-Type:text/html;charset=UTF-8',
'Reply-To: "[email protected]'
);
и вот код
<?php
$email = '[email protected]';
$headers=array(
'From: "[email protected]',
'Content-Type:text/html;charset=UTF-8',
'Reply-To: [email protected]'
);
$msg= 'This is a Test';
mail($email, "Call Back Requert Confirmation", $msg, $headers);
?>
пожалуйста, дайте мне знать, почему это происходит? и как я могу это исправить?
Ваш код должен быть:
Если вы хотите отправить $headers
через массив потом нужно добавить \r\n
конец всех заголовков и преобразовать их в srting
,
$headers = array(
'From: <[email protected]>',
'Content-Type:text/html;charset=UTF-8',
'Reply-To: <[email protected]>'
);
$headers = implode("\r\n", $headers);
попробуйте отправить заголовки как строку, а не как массив
$headers = "From: [email protected]\r\n";
$headers.= "MIME-Version: 1.0\r\n";
$headers.= "Content-Type:text/html;charset=UTF-8\r\n";
или используя массив конвертировать массив в строку, используя implode()
и отправить его mail()
$headers = implode("\r\n", $headers);
mail($email, "Call Back Requert Confirmation", $msg, $headers);
$headers
должна быть строкой, а не массивом:
http://php.net/manual/en/function.mail.php
$headers =
'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'MIME-Version: 1.0' . "\r\n" .
'Content-type: text/html; charset=iso-8859-1' . "\r\n";
mail($email, "Call Back Requert Confirmation", $msg, $headers);
Если вы хотите сохранить $headers
как массив, вы также можете сделать
mail($email, "Call Back Requert Confirmation", $msg, implode("\r\n", $headers));