Вот так организовал отправку почты: Код (Text): $mail_to = $myrow2['email']; $subject = "Новый рецепт"; $subject = '=?koi8-r?B?'.base64_encode(convert_cyr_string($subject, "w","k")).'?='; $message = ' <html> <head> <title><font face=Verdana, Arial, Helvetica, sans-serif size=+1 color=#003366>Новый рецепт</font></title> </head> <body> <font face=Verdana, Arial, Helvetica, sans-serif size=-1 color=#333333> <p>Ранее на сайте <a href="www.lu4ick.ru">Лучик и "Ко"</a>Вы оставили заявку, что бы я сообщала о каждом новом рецепте. Так вот, узнать как приготовить <a href="www.lu4ick.ru/view_coocking.php?id='.$id_coock.'">'.$title.'</a> легко, нажав на название блюда.</p> <p>Помните, что для Вас я ежедневно выкладываю новые рецепты, блоги, придумываю конкурсы и предоставляю возможность каждому посетителю поучаствовать в жизни сайта. Самые активные из Вас будут вознаграждены специальными знаками отличия и денежными призами. Удачи, мой посетитель.</p> </font> </body> </html>'; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n"; mail($mail_to, $subject, $message, $headers); Всё замечательно, но: 1. Заголовок письма приходит в кривой кодировке. 2. Почему письмо приходит с моего реального почтового ящика хотя я его не указываю нигде. Как изменить почтовый ящик отправителя?
1. ну кодировка письма - юникод, а кодировка заголовка из сипи1251 в кои8 с бейсом. 2. а от кого должно письмо идти? у него должен быть отправитель. через заголовки можете подмену делать, но MTU даст MTA сведения и об оригинальном владельце почтового ящика.
1. Я понял. А как присвоить заголовку кодировку utf-8. 2. А как вообще почтовый сервис узнаёт мой адрес ведь я нигде его не указываю? Или он их хостинга (домена) вынимается?
1. а в чем собственно проблема-то? и так видно что где править))) 2. да, когда mail() выполняется, она по умолчанию подставляет координаты пользователя, от которого запущен сценарий, вызвавший выполнение функции mail().
1. Я убрал строчку: Код (Text): $subject = '=?koi8-r?B?'.base64_encode(convert_cyr_string($subject, "w","k")).'?='; И всё стало как нужно... 2. Как заменить отправителя, на другого. А то я по незнанию указал свою почту при регистрации, а теперь свечу почту, хотя отношение к сайту имею посредственное... П.С. Когда вставляю это: Код (Text): $headers .= "From: MyHost <webMaster@мойдомен.ру>\r\n"; приходит вообще кривое сообщение...
Это что ли: Код (Text): От кого: mymail@list.ru Кому: mymail@list.ru Сегодня, 11:45 Я понимаю, что фигню выставил))) Как я могу посмотреть исходный код полученного письма?
мдя... все зависит от того как письмо смотрится. вот специально для вас увидев @list.ru я зашел на @mail.ru и в интерфейсе чтения письма нашел "Еще - Служебные заголовки". в Mozilla Thunderbird достаточно нажать Ctrl+U. так что я не могу дать однозначного ответа как вам посмотреть исходник письма...
Ясно. Вот: Код (Text): From panich07@list.ru Tue Mar 12 12:57:58 2013 Return-path: <panich07@list.ru> 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 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; Received: from [82.146.56.106] (port=50696 helo=lu4ick.ru) by mx13.mail.ru with esmtp (envelope-from <panich07@list.ru>) id 1UFL1y-0003nf-0T for panich07@list.ru; Tue, 12 Mar 2013 12:57:58 +0400 X-Mru-BL: 0:0:0 X-Mru-PTR: lu4ick.ru X-Mru-NR: 1 X-Mru-OF: FreeBSD (Ethernet or modem) X-Mru-RC: RU Received: from u397960889_pan by lu4ick.ru with local (Exim 4.80.1 (FreeBSD)) (envelope-from <panich07@list.ru>) id 1UFL1x-000PoV-Jb for panich07@list.ru; Tue, 12 Mar 2013 12:57:57 +0400 To: panich07@list.ru Subject: Новый рецепт РЅР° сайте Лучик Рё 'РљРѕ'. MIME-Version: 1.0 Content-type: text/html; charset=UTF-8 Message-Id: <E1UFL1x-000PoV-Jb@lu4ick.ru> From: panich07@list.ru Date: Tue, 12 Mar 2013 12:57:57 +0400 X-Spam: Not detected X-Mras: Ok X-Mru-Authenticated-Sender: panich07@list.ru
Блин. Я не знаю как она вообще должна выглядеть...что с ней там ни так. Только скажите, я её мигом накажу и она исправится...)))
расследуйте. второй блок соответствует стандартам. в первом блоке - все в одну строку свалено и первое двоеточие после 12 часов, а не после From и какая-то дата тут сразу лезет...
Я же в самом начала его выложил: Код (Text): while($myrow2 = mysql_fetch_assoc($result2)) { $mail_to = $myrow2['email']; $subject = "Новый рецепт на сайте Лучик и 'Ко'."; $message = ' <html> <head> <title><font face=Verdana, Arial, Helvetica, sans-serif size=+1 color=#003366>Новый рецепт на сайте Лучик и "Ко"</font></title> </head> <body> <font face=Verdana, Arial, Helvetica, sans-serif size=-1 color=#333333> <p>Ранее на сайте <a href="www.lu4ick.ru">Лучик и "Ко"</a>Вы оставили заявку, что бы я сообщала о каждом новом рецепте. Так вот, узнать как приготовить <a href="www.lu4ick.ru/view_coocking.php?id='.$id_coock.'">'.$title.'</a> легко, нажав на название блюда.</p> <p>Помните, что для Вас я ежедневно выкладываю новые рецепты, блоги, придумываю конкурсы и предоставляю возможность каждому посетителю поучаствовать в жизни сайта. Самые активные из Вас будут вознаграждены специальными знаками отличия и денежными призами. Удачи, мой посетитель.</p> </font> </body> </html>'; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n"; mail($mail_to, $subject, $message, $headers); } вот он!