Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как ввести кодировку в почтовое сообщение?
 
 автор: Владимир55   (09.06.2008 в 17:49)   письмо автору
 
 

Это моя первая попытка отправки почты, и для начала я сделал так:

mail("428@bk.ru", "Это тема письма", "Это тело письма." ,"From: softtime.ru<admin@softtime.ru>");
Как ни удивительно (для меня), письмо родилось! Но:
1. Не указана кодировка для темы. А хотелось бы её указать. Как это сделать?
2. Не указана кодировка для тела письма. Как её указать?

   
 
 автор: mihdan   (09.06.2008 в 17:52)   письмо автору
 
   для: Владимир55   (09.06.2008 в 17:49)
 

<?
$theme 
"=?windows-1251?B?".base64_encode('Заголовок с русским текстом)."?=";
mail("428@bk.ru", $theme, "Это тело письма." ,"From: softtime.ru<admin@softtime.ru>\nContent-Type: text/html; charset=windows-1251");
?>

   
 
 автор: BinLaden   (09.06.2008 в 18:00)   письмо автору
 
   для: mihdan   (09.06.2008 в 17:52)
 

-

   
 
 автор: BinLaden   (09.06.2008 в 18:00)   письмо автору
 
   для: mihdan   (09.06.2008 в 17:52)
 

[поправлено модератором]

   
 
 автор: Владимир55   (09.06.2008 в 19:21)   письмо автору
 
   для: BinLaden   (09.06.2008 в 18:00)
 

-

   
 
 автор: Владимир55   (09.06.2008 в 19:37)   письмо автору
 
   для: Владимир55   (09.06.2008 в 19:21)
 

Сделал вот так:

$theme = "=?windows-1251?B?".base64_encode("Заголовок с русским текстом")."?="; 
mail("497@bk.ru", $theme, "Это тело письма." ,"From: Петя Иванов <admin@softtime.ru>\nContent-Type: text/html; charset=windows-1251"); 
Вцелом всё нормально, но только вместо "Петя Иванов" читаю "оЕРЪ хБЮМНБ".

   
 
 автор: BinLaden   (09.06.2008 в 20:27)   письмо автору
 
   для: Владимир55   (09.06.2008 в 19:37)
 

Нужно аналогично преобразовать заголовок From.

P.S. Не понял я, а зачем mihdan указал тип text/html. Из-за этого у Вас не "работал" стандартный перевод строки: http://softtime.ru/forum/read.php?id_forum=1&id_theme=54427

   
 
 автор: Владимир55   (09.06.2008 в 20:54)   письмо автору
 
   для: BinLaden   (09.06.2008 в 20:27)
 

"Нужно аналогично преобразовать заголовок From"

Аналогично не получается. И кодировка теряется, и отправитель делается World Wide Web Owner.

Не могли бы Вы написать пример?

   
 
 автор: Trianon   (09.06.2008 в 20:56)   письмо автору
 
   для: Владимир55   (09.06.2008 в 20:54)
 

Не весь заголовок. Только Петю Иванова.

   
 
 автор: Владимир55   (09.06.2008 в 21:06)   письмо автору
 
   для: Trianon   (09.06.2008 в 20:56)
 

Тепрь нормально.

Но, может быть, и тело письма тоже нужно поместить в такое обрамление?

(Хотя сейчас текст не искажается, но вообще в интернете плохо читаемые письма приходят очень часто, так что хотелось бы всё сделать корректно и иметь работоспособный образец на будущее).

   
 
 автор: Trianon   (09.06.2008 в 21:22)   письмо автору
 
   для: Владимир55   (09.06.2008 в 21:06)
 

Конечно, надо. И совсем не в такое.
Сформировать полноценное (с точки зрения интернет-стандартов) письмо - не самое простое дело.
Отталкиваться можно от этого примера . Там совсем не всё гладко, но многие полезные приемы формирования письма показаны.

   
 
 автор: Владимир55   (09.06.2008 в 21:33)   письмо автору
 
   для: Trianon   (09.06.2008 в 21:22)
 

"Сформировать полноценное (с точки зрения интернет-стандартов) письмо - не самое простое дело. "

Да уж...

Между прочим, когда я обработал "Петю Иванова" вышеуказанным образом, то, хотя в принятом письмо все стало хорошо читаться, но репли стало невозможным, ибо там перед обратным адресом образовалось очень много всяких знаков.

   
 
 автор: Trianon   (09.06.2008 в 21:39)   письмо автору
 
   для: Владимир55   (09.06.2008 в 21:33)
 

В Вашем примере нету Reply-To, так что комментировать нечего...

   
 
 автор: Владимир55   (09.06.2008 в 22:02)   письмо автору
 
   для: Trianon   (09.06.2008 в 21:39)
 

Чуть позже я займусь примером, ссылку на который Вы дали. Видимо, корректные решения там.

А сейчас хотелось бы понять природу такого странного явления: если в теле письма есть адрес сайта или почтовый адрес, то они оказываются неактивными, то есть просто как слово. И кликнуть по ним нет возможности.

Почему так?

   
 
 автор: Trianon   (09.06.2008 в 22:09)   письмо автору
 
   для: Владимир55   (09.06.2008 в 22:02)
 

Это вопрос к разработчику почтового клиента.
Который в общем случае вовсе не обязан из строк, похожих на какие-то адреса, делать активные ссылки. Обычно и не делает.

   
 
 автор: Владимир55   (09.06.2008 в 22:10)   письмо автору
 
   для: Trianon   (09.06.2008 в 22:09)
 

Понятно, спасибо!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования