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

Тема в разделе "PHP", создана пользователем yeaahhh, 23 дек 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. yeaahhh

    yeaahhh

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

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    в поле от укажи "Имя или сайт <email@otpravitelya.com>"

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

    Сообщение без темы - когда тема не задана ))) как это не удивительно
     
    yeaahhh нравится это.
  3. yeaahhh

    yeaahhh

    Регистр.:
    8 май 2008
    Сообщения:
    278
    Симпатии:
    11
    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";
    Почему-то не отображаются русские символы "Название"
     
  4. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    кодировка темы письма указывается в самой теме

    Код:
    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
     
    biznesoft и yeaahhh нравится это.
  5. Dima Kos

    Dima Kos Постоялец

    Регистр.:
    1 апр 2010
    Сообщения:
    54
    Симпатии:
    6
    по спецификации тема письма не может быть кирилицей. Но есть выход - закодировать кириллическую тему письма. К примеру так:
    PHP:
    $subject '=?windows-1251?B?'.base64_encode('Тема письма').'?='
     
  6. nullsab

    nullsab Постоялец

    Регистр.:
    5 июн 2007
    Сообщения:
    65
    Симпатии:
    10
    Функция в 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;
    }
    Но лучше один раз разобраться с PHPMailer и забыть про проблемы с отправкой почты.
     
Статус темы:
Закрыта.