Изменение имени отправителя php mail вместо [email protected]
Я пытаюсь отправить электронную почту с моего php:
$to = '[email protected]';
$email_from = "[email protected]";
$full_name = 'Suraj Hazarika';
$from_mail = $full_name.'<'.$email_from.'>';
$subject = "testing sender name";
$message = "";
$message .= '
<p><strong>This is only a test . Please do not reply.</strong><br />
';
$from = $from_mail;
$headers = "" .
"Reply-To:" . $from . "\r\n" .
"X-Mailer: PHP/" . phpversion();
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
mail($to,$subject,$message,$headers);
Я следую учебнику Имя отправителя электронной почты электронной почты PHP вместо E-mail?, но я все еще получаю письма с именем отправителя с именем хоста.
From Date Subject
[email protected] Fri, 11:24 pm testing sender name
[email protected] Fri, 11:24 pm testing sender name
Ответы
Ответ 1
Вы используете $from
только в заголовке Reply-To
. Если вы хотите, чтобы он находился в заголовке From
, вам нужно установить его в заголовок From
.
Поместите что-то вроде этого перед командой mail()
:
$headers .= 'From: ' . $from . "\r\n";
Ответ 2
Я подошел к этому вопросу, ища что-то другое, но с похожими словами, поэтому здесь, как делать то, что я искал:
В заголовке from
поместите адрес в угловые скобки и "имя отправителя" вне его.
from: Don Draper <[email protected]>\n
Я хотел, чтобы почтовый ящик сказал Don Draper
вместо don.draper
и как это сделать.
Ответ 3
Вы также можете попробовать добавить адрес From
в конверт почты ', используя пятый параметр в функции PHP mail()
:
mail($to_mail, $subject, $message, $headers, "-f$from_email");
Ссылка здесь.
Ссылка на почтовые заголовки и конверты здесь
Обратите внимание, что некоторые настройки сервера могут запретить это или бросить предупреждение в зависимости от их конфигурации и/или конфигурации агента передачи почты. Этот ответ рассказывает об обновлении доверенных пользователей sendmail в отношении этого.
Ответ 4
Просто добавьте заголовок From. Что-то вроде этого.
$headers .= "From: [email protected]";
Ответ 5
Попробуйте добавить From:
в заголовок
$headers = "" .
"Reply-To:" . $from . "\r\n" .
"From:" . $from . "\r\n" .
"X-Mailer: PHP/" . phpversion();
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
Некоторые MTA могут изменять/игнорировать это определение, чтобы избежать спама, и переопределить пользователя SMTP, настроенного в PHP.ini
Ответ 6
Добавьте эту строку в строку заголовка
$headers .= "From: Your Name <[email protected]> \r\n";
Таким образом, код будет
$headers = "";
$headers .= "From: WIFI Metropolis <[email protected]> \r\n";
$headers .= "Reply-To:" . $from . "\r\n" ."X-Mailer: PHP/" . phpversion();
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
mail($to,$subject,$message,$headers);