Подтвердить что ты не робот

Изменение имени отправителя 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
4b9b3361

Ответ 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);