Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проблема с кодировкой в теме отправляемого письма.
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, ребята! Никак не могу разобраться как мне отправить письмо по SMTP, чтобы в теме письма был русский текст вместо "???????". Пишу на Embarcadero XE7, используя Indy 10-й версии. Буду очень признателен за помощь. Вот моя процедура отправки: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 10:36 |
|
||
|
Проблема с кодировкой в теме отправляемого письма.
|
|||
|---|---|---|---|
|
#18+
Сам долго мучался с этой проблемой в итоге закатал текст темы писма в BASE64 и передал как "SUBJECT:=?windows-1251?B?%сюда вставляем BASE64 закодированный заголовок%?=\r\n" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 10:41 |
|
||
|
Проблема с кодировкой в теме отправляемого письма.
|
|||
|---|---|---|---|
|
#18+
Cerebrum, что-то не срослось. Попробовал сделать так: Код: plaintext 1. Получил в теме письма такой текст: ?windows-1251?B?%0KLQtdGB0YLQvtCy0L7QtSDQv9C40YHRjNC80L4=%?=\r\n ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 11:18 |
|
||
|
Проблема с кодировкой в теме отправляемого письма.
|
|||
|---|---|---|---|
|
#18+
%% - убери вначале и в конце строки ?windows-1251?B?0KLQtdGB0YLQvtCy0L7QtSDQv9C40YHRjNC80L4=?=\r\n ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 12:38 |
|
||
|
Проблема с кодировкой в теме отправляемого письма.
|
|||
|---|---|---|---|
|
#18+
ROLpogoCerebrum, что-то не срослось. Потом что надо же и голову задействовать иногда, а не только копи-паст. В том числе она (голова) пригождается при чтении RFC на MIME. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 12:41 |
|
||
|
Проблема с кодировкой в теме отправляемого письма.
|
|||
|---|---|---|---|
|
#18+
Cerebrum, ?windows-1251?B?0KLQtdGB0YLQvtCy0L7QtSDQv9C40YHRjNC80L4=?=\r\n тоже не спасает. Выводит в теме: ?windows-1251?B?0KLQtdGB0YLQvtCy0L7QtSDQv9C40YHRjNC80L4=?=\r\n. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 12:45 |
|
||
|
Проблема с кодировкой в теме отправляемого письма.
|
|||
|---|---|---|---|
|
#18+
Я тебе даю код для чистого взаимодействия по SMTP протоколу без посредников. Ты используешь объект TIdMessage, который принимает только сам текст заголовка, без его метаданных. Метаданные он прикручивает сам. Тебе нужно либо перейти на использование SMTP протокола без посредников, либо научиться настраивать этот TIdMessage так, чтобы он понял, что ты отправляешь в заголовке BASE64 строку и ему надо оборачивать ее в соответствующие метаданные, которые в конечном итоге должны привести к строке "SUBJECT:=?windows-1251?B?0KLQtdGB0YLQvtCy0L7QtSDQv9C40YHRjNC80L4=?=\r\n" которую он будет пулять SMTP серверу. Возможно даже, что после того, как ты скажешь TIdMessage: отравляй заголовок в BASE64, тебе не придется конвертировать ее вручную, TIdMessage сделает это сам на основе исходной строки. Я хз как работает этот TIdMessage, но пока у тебя получается двойное оборачивание строки темы письма в метаданные, поэтому на выходе ты и получаешь строку в метаданных без их обработки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 13:04 |
|
||
|
Проблема с кодировкой в теме отправляемого письма.
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Голову пытаемся задействовать, но в библиотеке есть баг какой-то чувствуется мне. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 13:05 |
|
||
|
Проблема с кодировкой в теме отправляемого письма.
|
|||
|---|---|---|---|
|
#18+
ROLpogoГолову пытаемся задействовать, но в библиотеке есть баг какой-то чувствуется мне. Ну так задействуй её для чтения исходников в поисках этого бага. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 13:08 |
|
||
|
Проблема с кодировкой в теме отправляемого письма.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 13:12 |
|
||
|
Проблема с кодировкой в теме отправляемого письма.
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Пробовал, но не силен в паскале я. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 13:19 |
|
||
|
Проблема с кодировкой в теме отправляемого письма.
|
|||
|---|---|---|---|
|
#18+
ROLpogoно не силен в паскале я. bеgin-end вместо фигурных скобок сбивают с толку?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 13:23 |
|
||
|
Проблема с кодировкой в теме отправляемого письма.
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Догадливый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 13:35 |
|
||
|
Проблема с кодировкой в теме отправляемого письма.
|
|||
|---|---|---|---|
|
#18+
Когда то давно пробовал Indy. Не понравилось. Перешел на libcurl. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 14:28 |
|
||
|
Проблема с кодировкой в теме отправляемого письма.
|
|||
|---|---|---|---|
|
#18+
Cerebrum, До того как написать пост гуглил 3 дня. Этот пример тоже видел и он не спасает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 14:31 |
|
||
|
Проблема с кодировкой в теме отправляемого письма.
|
|||
|---|---|---|---|
|
#18+
Соискатель С++, Чувствую, всё к этому и идет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 14:32 |
|
||
|
Проблема с кодировкой в теме отправляемого письма.
|
|||
|---|---|---|---|
|
#18+
ROLpogoCerebrum, До того как написать пост гуглил 3 дня. Этот пример тоже видел и он не спасает. При раскодировке твоей BASE64 строки декодером Лебедева я получаю Если сам декодер не тупит, то получается что ты передаешь строку UTF8, сконвертированную в BASE64, но почтовому клиенту говоришь, что передаешь Win1251 (читай ANSI) сконвертированную в BASE64, то чему тут удивляться, что он не может ее обработать нормально? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 14:53 |
|
||
|
Проблема с кодировкой в теме отправляемого письма.
|
|||
|---|---|---|---|
|
#18+
Cerebrum, Подставляя вот такой Subject ничего не меняется. =?UTF-8?B?0KLQtdGB0YLQvtCy0L7QtSDQv9C40YHRjNC80L4=?=\r\n Тема так и отображается: =?UTF-8?B?0KLQtdGB0YLQvtCy0L7QtSDQv9C40YHRjNC80L4=?=\r\n ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 15:34 |
|
||
|
Проблема с кодировкой в теме отправляемого письма.
|
|||
|---|---|---|---|
|
#18+
Если посмотреть внутрь письма на mail.ru, то там такие строки: Subject: =?KOI8-R?B?PT9VVEYtOD9CPzBLTFF0ZEdCMFlMUXZ0Q3kwTDdRdFNEUXY5QzQwWUhSak5D?= =?KOI8-R?B?ODBMND0/PQ==?= ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 15:36 |
|
||
|
Проблема с кодировкой в теме отправляемого письма.
|
|||
|---|---|---|---|
|
#18+
ROLpogoCerebrum, Подставляя вот такой Subject ничего не меняется. =?UTF-8?B?0KLQtdGB0YLQvtCy0L7QtSDQv9C40YHRjNC80L4=?=\r\n Тема так и отображается: =?UTF-8?B?0KLQtdGB0YLQvtCy0L7QtSDQv9C40YHRjNC80L4=?=\r\n если ты пользуешься классом TIdMessage, то зачем передаешь тему письма в виде готовой строки c метаданными? Класс TIdMessage сам все сконвертирует и подставит как надо, ты только скажи ему как именно. Для этого и используется Msg->ContentTransferEncoding. Возможно надо что-то еще использовать, но это уже читай документацию по TIdMessage. Код: plaintext 1. 2. 3. 4. 5. 6. Если хочешь отправлять данные сам, то изучай протокол SMTP. Организовать отправку простого текстового сообщения в нем не сложно, намного сложнее будет прикручивать SSL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 16:35 |
|
||
|
Проблема с кодировкой в теме отправляемого письма.
|
|||
|---|---|---|---|
|
#18+
Cerebrum, это тоже пробовал. Msg->ContentTransferEncoding = L"base64"; Тема: ???????? ?????? Склоняюсь к тому, что в Indy 10 не предусмотрена отправка русского текста в теме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 16:50 |
|
||
|
Проблема с кодировкой в теме отправляемого письма.
|
|||
|---|---|---|---|
|
#18+
ROLpogoCerebrum, это тоже пробовал. Msg->ContentTransferEncoding = L"base64"; Тема: ???????? ?????? Склоняюсь к тому, что в Indy 10 не предусмотрена отправка русского текста в теме. Что за почтовый клиент? Он тоже может тупить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 16:59 |
|
||
|
Проблема с кодировкой в теме отправляемого письма.
|
|||
|---|---|---|---|
|
#18+
ROLpogo, нужный Content-Type выставил? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 18:06 |
|
||
|
Проблема с кодировкой в теме отправляемого письма.
|
|||
|---|---|---|---|
|
#18+
Всем спасибо! Проблему удалось решить добавлением хидера вместо штатного сабжекта: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2018, 08:12 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=18&tid=2017809]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
43ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 178ms |

| 0 / 0 |
