Измените имя отправителя php mail вместо sitename@hostname.com - PullRequest
20 голосов
/ 03 декабря 2011

Я пытаюсь отправить письмо с моего php:

$to = 'it@7sisters.in';
    $email_from = "info@7sisters.in";

    $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 Форма электронной почты Имя отправителя вместо электронной почты? но я все еще продолжаюполучение писем с именем отправителя с именем хоста.

     From                              Date             Subject 
sisters@rsx02.justhost.com  Fri, 11:24 pm       testing sender name
sisters@rsx02.justhost.com  Fri, 11:24 pm       testing sender name

Ответы [ 6 ]

21 голосов
/ 03 декабря 2011

Вы используете только $from в заголовке Reply-To. Если вы хотите, чтобы он был в заголовке From, вам нужно установить его в заголовке From.

Поставьте что-то вроде этого перед командой mail():

$headers .= 'From: ' . $from . "\r\n";
18 голосов
/ 21 ноября 2012

Я пришел к этому вопросу в поисках чего-то другого, но со схожими словами, поэтому вот как сделать то, что я искал:

В заголовке from укажите адрес в угловых скобках и «имя отправителя» вне его.

from: Don Draper <don.draper@website.com>\n

Я хотел, чтобы в почтовом ящике было написано Don Draper вместо don.draper, и вот как это сделать.

5 голосов
/ 12 февраля 2014

Вы также можете попробовать добавить адрес From в почтовый «конверт», используя пятый параметр в функции PHP * mail():

mail($to_mail, $subject, $message, $headers, "-f$from_email");

Ссылка здесь .

Ссылка на почтовые заголовки и конверты здесь

Обратите внимание, что некоторые настройки сервера могут запретить это или выдать предупреждение, в зависимости от их конфигурации и / или конфигурации почтового переводаагент. В этом ответе говорится об обновлении «надежных пользователей» sendmail в отношении этого.

3 голосов
/ 17 марта 2016

Добавить эту строку перед строкой заголовка

$headers .= "From: Your Name <sitename@hostname.com> \r\n";

Таким образом, код будет

$headers = "";
$headers .= "From: WIFI Metropolis <sitename@hostname.com> \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);
1 голос
/ 03 декабря 2011

Просто добавьте заголовок From.Как то так.

$headers .= "From: website@mydomainname.com";
0 голосов
/ 03 декабря 2011

Попробуйте добавить 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...