Наткнулся на, ИМХО, весьма серьёзный баг в TheBat! (замечено в версиях 3.99.29, 4.0.14 и 4.0.24 на разных компьютерах).
Куда писать так чтобы о нём прочли разработчики не знаю (поэтому решил написать о нём здесь), но очень надеюсь что этот своеобразный багрепорт попадётся им на глаза.
Ниже описание и примеры исходников писем.
Создаётся письмо с вложением. Речь о письмах в plain text (относительно писем в html не знаю, поскольку не пользуюсь). При создании письма само письмо и поле Subject кодируется в Base64 (без кодирования либо Quoted-Plintable -- это без разницы), а прикреплённый файл иногда (не всегда, но... короче, закономерность не была замечена, посему как и почему это случается не понятно)) в x-uue. Ошибка замечена при прикреплении файлов PDF и XLS. С графическими файлами всё нормально. Это с чем непосредственно я сталкивался.
В том случае если адресат (получатель) получает письмо с помощью почтового клиента (с TheBat! точно, а об остальных клиентах мне не ведомо), то всё нормально. Файл есть возможность открыть, сохранить и т.п.
В том случае если адресат (получатель) не пользуется почтовым клиентом, но просматривает его посредством веб-интерфейса (не важно на каком сервере находится его почтовый ящик, на бесплатном либо корпоративном -- это без разницы, поскольку описываемое замечено не менее чем в двух десятках случаев при взаимодействии с разными адресатами в разных концах света и пользующихся разными почтовыми сервисами) прочесть поле темы и само содержание письма можно, но вот с вложением... Сохранить вложение на жесткий диск невозможно (вернее, сохраняется то оно сохраняется, но с ошибками и открыть его невозможно ничем). Открыть прямо на сервере (например XLS через Google Docs, если получатель пользуется Gmail или, например, PDF прямо в браузере) тоже невозможно, поскольку программа-обработчик не воспринимает такой файл).
Всё вышеописанное касается писем подобных тому что показан во втором примере (см. ниже). С нормальными письмами (см. ниже первый пример) всё тип-топ.
Ниже см. примеры писем с нормальным (первый пример) Content-Transfer-Encoding и пример письма с ошибкой.
Пример письма с нормальным Content-Transfer-Encoding:
====================================================
====================================================
Пример письма с ошибкой в Content-Transfer-Encoding:
====================================================
====================================================
ПРИМЕЧАНИЕ.
В приведённых выше примерах:
Три точки (...) -- "и т. д."
Звёздочки (*******) -- тема письма и название вложения и др. несущественный контент.
P.S. Хотел запостить скриншоты окон с исходниками писем, но форум не даёт загрузить более одного графичаского файла. К сожалению...
Куда писать так чтобы о нём прочли разработчики не знаю (поэтому решил написать о нём здесь), но очень надеюсь что этот своеобразный багрепорт попадётся им на глаза.
Ниже описание и примеры исходников писем.
Создаётся письмо с вложением. Речь о письмах в plain text (относительно писем в html не знаю, поскольку не пользуюсь). При создании письма само письмо и поле Subject кодируется в Base64 (без кодирования либо Quoted-Plintable -- это без разницы), а прикреплённый файл иногда (не всегда, но... короче, закономерность не была замечена, посему как и почему это случается не понятно)) в x-uue. Ошибка замечена при прикреплении файлов PDF и XLS. С графическими файлами всё нормально. Это с чем непосредственно я сталкивался.
В том случае если адресат (получатель) получает письмо с помощью почтового клиента (с TheBat! точно, а об остальных клиентах мне не ведомо), то всё нормально. Файл есть возможность открыть, сохранить и т.п.
В том случае если адресат (получатель) не пользуется почтовым клиентом, но просматривает его посредством веб-интерфейса (не важно на каком сервере находится его почтовый ящик, на бесплатном либо корпоративном -- это без разницы, поскольку описываемое замечено не менее чем в двух десятках случаев при взаимодействии с разными адресатами в разных концах света и пользующихся разными почтовыми сервисами) прочесть поле темы и само содержание письма можно, но вот с вложением... Сохранить вложение на жесткий диск невозможно (вернее, сохраняется то оно сохраняется, но с ошибками и открыть его невозможно ничем). Открыть прямо на сервере (например XLS через Google Docs, если получатель пользуется Gmail или, например, PDF прямо в браузере) тоже невозможно, поскольку программа-обработчик не воспринимает такой файл).
Всё вышеописанное касается писем подобных тому что показан во втором примере (см. ниже). С нормальными письмами (см. ниже первый пример) всё тип-топ.
Ниже см. примеры писем с нормальным (первый пример) Content-Transfer-Encoding и пример письма с ошибкой.
Пример письма с нормальным Content-Transfer-Encoding:
====================================================
| Код |
|---|
... Subject: ******* MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----------24B72D21502815" ------------24B72D21502815 Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: base64 ******* ------------24B72D21502815 Content-Type: APPLICATION/VND.MS-EXCEL; name="*******.xls" Content-transfer-encoding: base64 Content-Disposition: attachment; filename="*******.xls" 0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAKwAAAAAA AAAAEAAA/v///wAAAAD+////AAAAACoAAAD///////////////////////////////////// //////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////// ... |
====================================================
Пример письма с ошибкой в Content-Transfer-Encoding:
====================================================
| Код |
|---|
... Subject: ******* MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----------81AE499F37E28" ------------81AE499F37E28 Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: base64 ******* ------------81AE499F37E28 Content-Type: application/vnd.ms-excel; name="*******.xls" Content-transfer-encoding: x-uue Content-Disposition: attachment; filename="*******.xls" begin 644 awaiting.xls MT,\1X*&Q&N$`````````````````````/@`#`/[_"0`&```````````````! M`````0``````````$```*0````$```#^____``````````#_____________ M____________________________________________________________ M____________________________________________________________ M____________________________________________________________ ... |
====================================================
В приведённых выше примерах:
Три точки (...) -- "и т. д."
Звёздочки (*******) -- тема письма и название вложения и др. несущественный контент.
P.S. Хотел запостить скриншоты окон с исходниками писем, но форум не даёт загрузить более одного графичаского файла. К сожалению...
Изменено: - 19.07.2008 05:36:46