[php] отправка письма функцией mail

Discussion in 'PHP' started by megageorge, 28 Jul 2011.

  1. megageorge

    megageorge New Member

    Joined:
    24 Dec 2010
    Messages:
    54
    Likes Received:
    1
    Reputations:
    0
    Сделал форму на сайт под вордпрессом.
    Письма из формы отправляет.
    Но столкнулся с траблой - в теле письма не происходит перенос строки \r\n

    Все форумы облазил, полдня убил на тестирование различных сочетаний в headers (кодировки, text/plain и проч) - все без толку

    Грубо говоря, отправляю
    PHP:
    mail('mail@mail.com'"Topic""Строка\r\nСтрока\r\nСтрока\r\nСтрока");
    приходит
    Строка\r\nСтрока\r\nСтрока\r\nСтрока

    когда должно
    Строка
    Строка
    Строка
    Строка

    Помогите плиз, а то уже крыша едет
     
  2. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    А так?
    PHP:
    mail ('mail@mail.com''Topic''Строка' PHP_EOL 'Строка' PHP_EOL 'Строка' PHP_EOL 'Строка');
    Или же попробуйте внутри отправляемого сообщения юзать только \n (для text/plain)
     
    #2 krypt3r, 28 Jul 2011
    Last edited: 28 Jul 2011
  3. megageorge

    megageorge New Member

    Joined:
    24 Dec 2010
    Messages:
    54
    Likes Received:
    1
    Reputations:
    0
    PHP_EOL дал результат нулевой, просто сконкатенировались СтрокаСтрока

    с \n тоже результат выдал

    Строка\nСтрока\nСтрока\nСтрока\nСтрока

    На всякий случай пропишу как я писал хэдер

    PHP:
    $body "Строка\nСтрока\nСтрока\nСтрока\nСтрока";
    $headers "Content-type: text/plain; charset=utf-8\r\n";
    mail("mymail@gmail.com""Анкета"$body$headers);
     
  4. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Странный у вас MTA. Полагаю, вариант chr(13) . chr(10) либо же только chr(10) также не помогает? Почитайте "User Contributed Notes" на странице http://www.php.net/manual/en/function.mail.php Может, там найдете решение проблемы
     
  5. Чакэ

    Чакэ Elder - Старейшина

    Joined:
    15 Aug 2010
    Messages:
    260
    Likes Received:
    66
    Reputations:
    62
    nl2br () + content-type: text/html
     
  6. megageorge

    megageorge New Member

    Joined:
    24 Dec 2010
    Messages:
    54
    Likes Received:
    1
    Reputations:
    0
    всем спасибо, разобрался
    для тех кто столкнется с подобной траблой опишу

    в HEADERS прописываем
    PHP:
    "Content-Type: text/html; charset=utf-8\r\n"
    в теле письма все строковые значения, а также символы \n (\r\n писать не стоит) прописываем ТОЛЬКО В КАВЫЧКАХ (НЕ АПОСТРОФЫ)

    например
    PHP:
    $body "Трулала" $_POST["value"] . " \n";
    $headers "Content-Type: text/html; charset=utf-8\r\n";
    mail("my@mail.ru""Тема письма"$body$headers);
     
  7. megageorge

    megageorge New Member

    Joined:
    24 Dec 2010
    Messages:
    54
    Likes Received:
    1
    Reputations:
    0
    опечатался - не text/html а text/plain

    PHP:
    $body "Трулала" $_POST["value"] . " \n";
    $headers "Content-Type: text/plain; charset=utf-8\r\n";
    mail("my@mail.ru""Тема письма"$body$headers);