Как правильно отправить email через PHP

  • Не получается отправить email через PHP. Сам код и текст сообщения не проблема, мне нужны русские буквы в Betreff и Absender. Может кто сталкивался?

  • так в чём проблема то..??
    ты пишешь betreff и absender на русском.. отсылаешь и потом тянешь мыло какой-то прогой и там не показывает русский язык..??

  • Да в том то и дело! Текст сообшения можно отправить как HTML с указанием кодировки. А с Absender и Betreff этот фокус не проходит так как поддерживаются только 7-ми битные знаки. В Outlook Express отображаются только иероглифы.


    Я отправляю через PHP командой mail()

  • тогда вся проблема в проге которую ты используешь.. я пользуюсь the bat и проблем с русским в сроках betreff и absender не имею..


    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    тут тоже есть полезная инфа как кодировать строки в мылах..


    base64_encode() gibt data in base64-kodierter Form zurьck. Diese Form des Encodings wurde entworfen, um Binдrdaten unbeschдdigt mittels Technologien wie E-Mail ьbertragen zu kцnnen, die nicht korrekt mit 8-Bit-Zeichen umgehen.


    Base64-kodierte Daten benцtigen ungefдhr 33% mehr Speicher als die Originaldaten.

    Сообщение было отредактировано 2 раз, последнее редактирование пользователем xaex ().

  • прога тут явно ни причем, я уже получал письма в которых все отображалось нормально.


    Base64 попробую и сообшу результат.

  • Да скрипт стандартный, думаю всё дело в провайдере HostEurope.


    // Настройки для отправки писем
    $headers=null;
    //$headers.="Content-Type: text/plain; charset=windows-1251\r\n";
    $headers.= "Content-type: text/plain; charset=windows-1251\nContent-Transfer-Encoding: 8bit";
    $headers.="From: ".$name." <".$email.">\r\n";
    $headers.="Reply-To: ".$name." <".$email.">\r\n";
    $headers.="X-Mailer: PHP/".phpversion()."\r\n";


    // Собираем всю информацию в теле письма
    $host=$_SERVER["HTTP_HOST"]; $self=$_SERVER["PHP_SELF"];
    $allmsg='1. Отправлено со страницы: Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.'.$host.$self.chr(13).chr(10).
    '2. Имя посетителя: '.$name.chr(13).chr(10).
    '3. E-mail: '.$email.chr(13).chr(10).
    '4. Сообщение: '.$msg.chr(13).chr(10);


    $betreff = "Сообщение ot $name";


    // Отправляем письмо майлеру на съедение ;-)
    mail("$myemail", $betreff, $allmsg, $headers);

  • Поскольку тема: Как ПРАВИЛЬНО отправлять Е-mail,
    то кодировка не есть главная проблема...


    Не знаю как Absender, а Betreff можно тоже кодировать...

    Сообщение было отредактировано 3 раз, последнее редактирование пользователем Grischenkow ().