Вывод названия сайта при mail()

Статус
В этой теме нельзя размещать новые ответы.

yeaahhh

Старатель
Регистрация
8 Май 2008
Сообщения
278
Реакции
11
Ребят, подскажите, пожалуйста, как сделать так, чтобы при отправке через mail() на почте выводился не адрес, который я указываю (From: траляля@sdfsf.ru), а название сайта(мой текст)..
А то, когда вместо адреса вписываю текст, письмо не приходит..
Заранее большое спасибо!
И ещё один вопрос: иногда присылается сообщение с названием (<Без темы>). С чем это может быть связано?
 
в поле от укажи "Имя или сайт <email@otpravitelya.com>"

т.е. имя, а после него в < > email

Сообщение без темы - когда тема не задана ))) как это не удивительно
 
PHP:
$headers = "Content-Type:text/html; charset=windows-1251 \n";
$headers .= "From: fdsfs.ru - Название <sdfsdf@bk.ru> \n";
$mes .= "Текст сообщения \n";
$verify = mail("sdfsdf@mail.ru", "Новое сообщение", $mes, "$headers");
Вроде бы тема указана.. Или она как-то по-другому указывается??
и ещё вопрос:
PHP:
$headers .= "From: fdsfs.ru - Название <sdfsdf@bk.ru> \n";
Почему-то не отображаются русские символы "Название"
 
кодировка темы письма указывается в самой теме

Код:
Subject: =?UTF-8?B?0YLQtdGB0YIg0L/QvtC00L/QuNGB0Lg=?=
Subject: =?windows-1251?Q?=C0=ED=EE=ED=F1=FB=20Lenta=2ERu?=
Subject: =?koi8-r?B?AbC
остальные символы в 8-битной кодировке

это в header
 
Почему-то не отображаются русские символы "Название"
по спецификации тема письма не может быть кирилицей. Но есть выход - закодировать кириллическую тему письма. К примеру так:
PHP:
$subject = '=?windows-1251?B?'.base64_encode('Тема письма').'?=';
 
Функция в utf8 варианте
PHP:
function send_mail($address, $subject, $body)
{
    $address = strtolower($address);
    $from_mail = 'adm@site.com';
    $from_name = 'site.com'; 
    $subject = "=?UTF-8?B?" . base64_encode($subject) . "?=";
    $from =    "=?UTF-8?B?" . base64_encode($from_name) . "?= <$from_mail>";
    $body = base64_encode($body);

    $headers = "From: $from
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: base64
X-Mailer: (PHP)";

    $result = mail($address, $subject, $body, $headers);
    return $result;
}
Но лучше один раз разобраться с Для просмотра ссылки Войди или Зарегистрируйся и забыть про проблемы с отправкой почты.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху