За последние 24 часа нас посетил 17481 программист и 1714 роботов. Сейчас ищут 1689 программистов ...

mail (отправка заголовка)

Тема в разделе "PHP для новичков", создана пользователем Panich, 12 мар 2013.

  1. Panich

    Panich Активный пользователь

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    Вот так организовал отправку почты:
    Код (Text):
    1. $mail_to = $myrow2['email'];
    2.     $subject = "Новый рецепт";
    3.     $subject = '=?koi8-r?B?'.base64_encode(convert_cyr_string($subject, "w","k")).'?=';
    4.     $message = '
    5.     <html>
    6.         <head>
    7.             <title><font face=Verdana, Arial, Helvetica, sans-serif size=+1 color=#003366>Новый рецепт</font></title>
    8.         </head>
    9.         <body>
    10.             <font face=Verdana, Arial, Helvetica, sans-serif size=-1 color=#333333>
    11.                 <p>Ранее на сайте <a href="www.lu4ick.ru">Лучик и "Ко"</a>Вы оставили заявку, что бы я сообщала о каждом новом рецепте. Так вот, узнать как приготовить <a href="www.lu4ick.ru/view_coocking.php?id='.$id_coock.'">'.$title.'</a> легко, нажав на название блюда.</p>
    12.                 <p>Помните, что для Вас я ежедневно выкладываю новые рецепты, блоги, придумываю конкурсы и предоставляю возможность каждому посетителю поучаствовать в жизни сайта. Самые активные из Вас будут вознаграждены специальными знаками отличия и денежными призами. Удачи, мой посетитель.</p>
    13.             </font>
    14.         </body>
    15.     </html>';
    16.     $headers  = 'MIME-Version: 1.0' . "\r\n";
    17.     $headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
    18.     mail($mail_to, $subject, $message, $headers);
    Всё замечательно, но:
    1. Заголовок письма приходит в кривой кодировке.
    2. Почему письмо приходит с моего реального почтового ящика хотя я его не указываю нигде. Как изменить почтовый ящик отправителя?
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    1. ну кодировка письма - юникод, а кодировка заголовка из сипи1251 в кои8 с бейсом.
    2. а от кого должно письмо идти? у него должен быть отправитель. через заголовки можете подмену делать, но MTU даст MTA сведения и об оригинальном владельце почтового ящика.
     
  3. Panich

    Panich Активный пользователь

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    1. Я понял. А как присвоить заголовку кодировку utf-8.
    2. А как вообще почтовый сервис узнаёт мой адрес ведь я нигде его не указываю? Или он их хостинга (домена) вынимается?
     
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    1. а в чем собственно проблема-то? и так видно что где править)))
    2. да, когда mail() выполняется, она по умолчанию подставляет координаты пользователя, от которого запущен сценарий, вызвавший выполнение функции mail().
     
  5. Panich

    Panich Активный пользователь

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    1. Я убрал строчку:
    Код (Text):
    1. $subject = '=?koi8-r?B?'.base64_encode(convert_cyr_string($subject, "w","k")).'?=';
    И всё стало как нужно...
    2. Как заменить отправителя, на другого. А то я по незнанию указал свою почту при регистрации, а теперь свечу почту, хотя отношение к сайту имею посредственное...
    П.С. Когда вставляю это:
    Код (Text):
    1. $headers .= "From: MyHost <webMaster@мойдомен.ру>\r\n";
    приходит вообще кривое сообщение...
     
  6. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    го мануал читать.
     
  7. Panich

    Panich Активный пользователь

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    Выше написал, что не получается как в мануале...
     
  8. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    исходный код полученного письма (в районе заголовков)
     
  9. Panich

    Panich Активный пользователь

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    Немного не понял, что требуется от меня...
     
  10. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    из исходно года полученного письма скопипастить блок заголовков. то есть до первой пустой строки.
     
  11. Panich

    Panich Активный пользователь

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    Это что ли:
    Код (Text):
    1. От кого:  mymail@list.ru
    2. Кому:   mymail@list.ru
    3. Сегодня, 11:45
    Я понимаю, что фигню выставил)))
    Как я могу посмотреть исходный код полученного письма?
     
  12. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    мдя... все зависит от того как письмо смотрится. вот специально для вас увидев @list.ru я зашел на @mail.ru и в интерфейсе чтения письма нашел "Еще - Служебные заголовки". в Mozilla Thunderbird достаточно нажать Ctrl+U. так что я не могу дать однозначного ответа как вам посмотреть исходник письма...
     
  13. Panich

    Panich Активный пользователь

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    Ясно. Вот:
    Код (Text):
    1. From panich07@list.ru Tue Mar 12 12:57:58 2013
    2. Return-path: <panich07@list.ru>
    3. Authentication-Results: mxs.mail.ru; spf=softfail (mx13.mail.ru: transitioning domain of list.ru does not designate 82.146.56.106 as permitted sender) smtp.mailfrom=panich07@list.ru smtp.helo=lu4ick.ru
    4. Received-SPF: softfail (mx13.mail.ru: transitioning domain of list.ru does not designate 82.146.56.106 as permitted sender) client-ip=82.146.56.106; envelope-from=panich07@list.ru; helo=lu4ick.ru;
    5. Received: from [82.146.56.106] (port=50696 helo=lu4ick.ru)
    6.     by mx13.mail.ru with esmtp (envelope-from <panich07@list.ru>)
    7.     id 1UFL1y-0003nf-0T
    8.     for panich07@list.ru; Tue, 12 Mar 2013 12:57:58 +0400
    9. X-Mru-BL: 0:0:0
    10. X-Mru-PTR: lu4ick.ru
    11. X-Mru-NR: 1
    12. X-Mru-OF: FreeBSD (Ethernet or modem)
    13. X-Mru-RC: RU
    14. Received: from u397960889_pan by lu4ick.ru with local (Exim 4.80.1 (FreeBSD))
    15.     (envelope-from <panich07@list.ru>)
    16.     id 1UFL1x-000PoV-Jb
    17.     for panich07@list.ru; Tue, 12 Mar 2013 12:57:57 +0400
    18. To: panich07@list.ru
    19. Subject: Новый рецепт на сайте Лучик и 'Ко'.
    20. MIME-Version: 1.0
    21. Content-type: text/html; charset=UTF-8
    22. Message-Id: <E1UFL1x-000PoV-Jb@lu4ick.ru>
    23. From: panich07@list.ru
    24. Date: Tue, 12 Mar 2013 12:57:57 +0400
    25. X-Spam: Not detected
    26. X-Mras: Ok
    27. X-Mru-Authenticated-Sender: panich07@list.ru
     
  14. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    что это с первой строкой))))
     
  15. Panich

    Panich Активный пользователь

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    Блин. Я не знаю как она вообще должна выглядеть...что с ней там ни так. Только скажите, я её мигом накажу и она исправится...)))
     
  16. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
     
  17. Panich

    Panich Активный пользователь

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    Так а моя какая вина в этом?
     
  18. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    расследуйте. второй блок соответствует стандартам. в первом блоке - все в одну строку свалено и первое двоеточие после 12 часов, а не после From и какая-то дата тут сразу лезет...
     
  19. Panich

    Panich Активный пользователь

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    Эти блоки формирует сама почта или я принимаю участие?
     
  20. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    скрипт на всякий случай в студию
     
  21. Panich

    Panich Активный пользователь

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    Я же в самом начала его выложил:
    Код (Text):
    1. while($myrow2 = mysql_fetch_assoc($result2))
    2.     {
    3.     $mail_to = $myrow2['email'];
    4.     $subject = "Новый рецепт на сайте Лучик и 'Ко'.";
    5.    
    6.     $message = '
    7.     <html>
    8.         <head>
    9.             <title><font face=Verdana, Arial, Helvetica, sans-serif size=+1 color=#003366>Новый рецепт на сайте Лучик и "Ко"</font></title>
    10.         </head>
    11.         <body>
    12.             <font face=Verdana, Arial, Helvetica, sans-serif size=-1 color=#333333>
    13.                 <p>Ранее на сайте <a href="www.lu4ick.ru">Лучик и "Ко"</a>Вы оставили заявку, что бы я сообщала о каждом новом рецепте. Так вот, узнать как приготовить <a href="www.lu4ick.ru/view_coocking.php?id='.$id_coock.'">'.$title.'</a> легко, нажав на название блюда.</p>
    14.                 <p>Помните, что для Вас я ежедневно выкладываю новые рецепты, блоги, придумываю конкурсы и предоставляю возможность каждому посетителю поучаствовать в жизни сайта. Самые активные из Вас будут вознаграждены специальными знаками отличия и денежными призами. Удачи, мой посетитель.</p>
    15.             </font>
    16.         </body>
    17.     </html>';
    18.     $headers  = 'MIME-Version: 1.0' . "\r\n";
    19.     $headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
    20.     mail($mail_to, $subject, $message, $headers);
    21.     }
    вот он!
     
  22. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    и он работает как надо возвращая зарегистрированный на хостинге имейл, так?
     
  23. Panich

    Panich Активный пользователь

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    Ну,как видите! А с ним что не так?
     
  24. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    у вас точно первая строка в исходнике письма такая как вы ее скопипастили?
     
  25. Panich

    Panich Активный пользователь

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    Пример ещё одного письма:
    Код (Text):
    1. From panich07@list.ru Tue Mar 12 13:27:38 2013