Добрый день!

Нашел ошибку в версии 52.1.1, не правильно показывает время получения письма в колонке Получено, оно почему то равно времени отправки... Если открыть Исходный текст письма, то видно реальное время получения в первой строке From...

dd64ac9a7d99d86bf02f3cbeab20ae41.png
a9346e6328f0be13b2616cde77e8ea76.png
c0cfae9141f44bf179cd19f0f3557d8e.png

jonyrh пишет

Нашел ошибку в версии 52.1.1, не правильно показывает время получения письма в колонке Получено

Два вопроса:
1. IMAP?
2. Предыдущие версии показывали по-другому?

yup пишет
jonyrh пишет

Нашел ошибку в версии 52.1.1, не правильно показывает время получения письма в колонке Получено

Два вопроса:
1. IMAP?
2. Предыдущие версии показывали по-другому?

1. POP
2. Предыдущих версий не стояло, чистая установка

[upd] проверил с IMAP, тоже самое, но в исходном тексте сообщения нет строки From

1. Так было всегда. И это даже нельзя считать ошибкой, потому что:
2. У письма есть два времени получения: время, когда письмо получено почтовым ящиком (сервером получателя), и время, когда письмо получено программой получателя с его сервера. Thunderbird показывает первое из них. А то, что оно с точностью до минут (не секунд!) совпадает со временем отправления - не удивительно при нынешних скоростях магистралей Интернета.

yup пишет

1. Так было всегда. И это даже нельзя считать ошибкой, потому что:
2. У письма есть два времени получения: время, когда письмо получено почтовым ящиком (сервером получателя), и время, когда письмо получено программой получателя с его сервера. Thunderbird показывает первое из них. А то, что оно с точностью до минут (не секунд!) совпадает со временем отправления - не удивительно при нынешних скоростях магистралей Интернета.

не согласен, вторую дату на POP ставит клиент (именно дата получения клиентом), и она не правильная в данном случае. Это баг.

Из того, что я вижу на картинке: письмо отправлено 4 июня в 16:49, пришло на сервер получетателя 4 июня в 16:49 и получено с него клиентом 4 июня в 16:54. Что тут неправильно?

yup пишет

Какую дату вы называете второй, и в чём именно она неправильная? Из того, что я вижу на картинке: письмо отправлено 4 июня в 16:49, пришло на сервер получетателя 4 июня в 16:49 и получено с него клиентом 4 июня в 16:54. Что тут неправильно?

в колонке "Получил" стоит дата отправки а не получения. Иначе какой смысл колонки "Получил"

В "Получено" стоит время получения сервером, а не клиентом. То, что оно совпадает со временем отправки - иллюзия, так как там не показаны секунды. Изучите внимательно в исходниках 4-5 писем всю последовательность строк заголовков "Received:" (снизу вверх) - там секунды видны. (Хотя у меня попадаются даже письма, которые на мой сервер приходили в ту же секунду, когда отправлены!)

04-06-2017 16:26:41
Почему авторы программы в "Получено" решили показывать время получения сервером, а не клиентом, - тоже имеет вполне логичное обоснование.

yup пишет

В "Получено" стоит время получения сервером, а не клиентом. То, что оно совпадает со временем отправки - иллюзия, так как там не показаны секунды. Изучите внимательно в исходниках 4-5 писем всю последовательность строк заголовков "Received:" (снизу вверх) - там секунды видны. (Хотя у меня попадаются даже письма, которые на мой сервер приходили в ту же секунду, когда отправлены!)

Сравнил 2 письма полученные через POP и IMAP. У письма полученного через POP добавляется заголовок From и он содержит именно дату получения клиентом.

Пример:
Мне отправили письмо в понедельник. Открыл клиент на следующий день, во вторник, и получил письмо, которое в колонках Получено и Дата показывает время сервера... Что за бред...

Если меня спросят во сколько я получил письмо, я, что должен ответить что получил его в понедельник? Это же бред! В колонке получил должна быть дата получения клиентом (только в POP варианте).

Я прекрасно понимаю, что на IMAP по другому, там время получения именно сервера, но тут POP клиент.

jonyrh пишет

Сравнил 2 письма полученные через POP и IMAP. У письма полученного через POP добавляется заголовок From и он содержит именно дату получения клиентом.

Да, так и есть. Ну и что из этого следует?

jonyrh пишет

Мне отправили письмо в понедельник. Открыл клиент на следующий день, во вторник, и получил письмо, которое в колонках Получено и Дата показывает время сервера... Что за бред...

Так задумано авторами. Могу даже воспроизвести их логику (ибо она довольно логична :) ).

jonyrh пишет

Я прекрасно понимаю, что на IMAP по другому, там время получения именно сервера, но тут POP клиент.

А интерфейс у Thunderbird один на все случаи.

jonyrh пишет

Если меня спросят во сколько я получил письмо, я, что должен ответить что получил его в понедельник? Это же бред! В колонке получил должна быть дата получения клиентом.

В данном случае: "в колонке получил должна быть дата получения клиентом" - всего лишь личное мнение. Хотя да - причина для него выглядит весомой. Контраргументы, правда, тоже весомые имеются. Вот только один из них: пришёл человек утром на работу, принял отправленное ночью письмо, потом вечером пришёл домой и на домашнем компьютере принял это письмо ещё раз. Хорошо, пусть не вечером домой, а после обеда пересел на другой компьютер...

Я почему про IMAP в самом начале спрашивал - в случае работы по IMAP Thunderbird, действительно, в "Получено" показывает время отправления письма, и есть расширение "IMAP received date", которое эту ошибку исправляет. Но для обсуждаемой нами темы соответствующих расширений, вроде, нет (во всяком случае, я таких не знаю). Поэтому единственный выход - писать такое расширение.

yup пишет

Да, так и есть. Ну и что из этого следует?

Любой другой почтовик, с настройками POP, показывает дату получения именно клиентом.

yup пишет

Так задумано авторами. Могу даже воспроизвести их логику (ибо она довольно логична :) ).

Не в случае с получением через POP. Если стоит много клиентов POP, то в них, логично, будет разная дата получения письма клиентом. В случае с IMAP смотрится только время сервера, тут логично!

yup пишет

Я почему про IMAP в самом начале спрашивал - в случае работы по IMAP Thunderbird, действительно, в "Получено" показывает время отправления письма, и есть расширение "IMAP received date", которое эту ошибку исправляет. Но для обсуждаемой нами темы соответствующих расширений, вроде, нет (во всяком случае, я таких не знаю). Поэтому единственный выход - писать такое расширение.

очень странно... зачем расширение, когда тут и так логично: Если POP то смотрим заголовок From с датой получения клиентом и пишем его в колонку Получено. Это не дополнение нужно писать, а исправлять данный баг.

jonyrh пишет

Если стоит много клиентов POP, то в них, логично, будет разная дата получения письма клиентом.

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

jonyrh пишет

зачем расширение, когда тут и так логично:

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

jonyrh пишет

Если POP то смотрим заголовок From с датой получения клиентом и пишем его в колонку Получено.

А сейчас в программе не нужно смотреть - POP там или не POP. Есть единый код, который берёт дату из самой первой строчки "Received:" заголовка письма. Единый код писать и сопровождать удобнее, чем два отдельных.

jonyrh пишет

Это не дополнение нужно писать, а исправлять данный баг.

Сейчас программа работает именно так, как захотелось её авторам. Чтобы заставить их "исправить эту ошибку" - сначала нужно их убедить, что это ошибка. А это ой как непросто. Написать расширение куда как проще. Или вспомнить, что Thunderbird - не единственная почтовая программа. Есть множество других, в том числе и бесплатных.

P.S. Мне нужно убегать. Попробуйте всё же порыться в расширениях Thunderbird - вдруг найдётся нужное.

yup пишет

И с точки зрения автором программы это - неудобно для пользователей. Подозреваю, что большинство пользователей с ними согласны.
Куда девать пользователей, которые это логичным не считают, и которые предпочтут на всех своих компьютерах видеть одну и ту же дату? А таких обязательно найдётся уйма.

Ну а какой смысл тогда в добавлении в заголовки даты получения клиентом в исходник письма полученных через  POP:

Выделить код

Код:

From - Sun Jun  4 19:11:15 2017
X-Account-Key: account6
X-UIDL: 00000d95566fb3b5
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
X-Mozilla-Keys:
jonyrh пишет

Ну а какой смысл тогда в добавлении в заголовки даты получения клиентом в исходник письма полученных через  POP

Скорее всего, для совместимости. Формат этого файла придуман не мозилловцами, а задолго до них. И Thunderbird умеет использовать такие файлы, созданные другими программами. Соответственно, и его файлы должны быть пригодны для использования теми программами.

yup пишет

Скорее всего, для совместимости. Формат этого файла придуман не мозилловцами, а задолго до них. И Thunderbird умеет использовать такие файлы, созданные другими программами. Соответственно, и его файлы должны быть пригодны для использования теми программами.

Полный бред, совместимость тут не причем, есть стандарт RFC 2076 (описание заголовков) который должны знать почтовые клиенты, иначе они не почтовые клиенты!

Какое отношение имеет стандарт, описывающий часть содержимого одного сообщения (заголовки - всего лишь часть полного сообщения), к способу хранения большого количества сообщений?
Microsoft Outlook хранит принятые сообщения в файле совершенно другого формата, и у них с Thunderbird в этом отношении - полная несовместимость. Но разве от этого кто-то из них перестаёт быть почтовым клиентом?

yup пишет

Microsoft Outlook хранит принятые сообщения в файле совершенно другого формата, и у них с Thunderbird в этом отношении

Я не говорю про формат хранения, я говорю про формат исходника сообщения eml в которое добавляется  строка с заголовком, который не используется в дальнейшем.

jonyrh пишет

я говорю про формат исходника сообщения eml в которое добавляется  строка с заголовком, который не используется в дальнейшем.

Напишите свой стандарт и обяжите всех использовать именно его. В чем собственно проблема? Вам не нравятся электронные письма с их существующим форматом? Ну так не пользуйтесь ими! Это же так просто...

PS: И таки да - если вы не понимаете смысла чего-то, то это на 99,99999% говорит об ограниченности ваших знаний, а не о чем-то другом (что бы это ни было).

Dzirt пишет

Напишите свой стандарт и обяжите всех использовать именно его. В чем собственно проблема? Вам не нравятся электронные письма с их существующим форматом? Ну так не пользуйтесь ими! Это же так просто..
PS: И таки да - если вы не понимаете смысла чего-то, то это на 99,99999% говорит об ограниченности ваших знаний, а не о чем-то другом (что бы это ни было).

Посмотри пример из поста №9, чтобы понять о чем речь...
http://forum.mozilla-russia.org/viewtop … 35#p737835

jonyrh пишет

Посмотри пример из поста №9, чтобы понять о чем речь...

Я прекрасно понимаю о чем речь - лично тебе не нравится как Thunderbird интерпретирует заголовки писем для вывода даты в колонке "Получено". Прекрасно. Считаешь, что это баг? Тогда тебе вот сюда и нефиг засорять бессмысленными постами форум. Не считаешь багом и просто пришел поныть? Все то же самое - нефиг засорять бессмысленными постами форум.

PS: И только между нами. Вот это вот выделенное красным:
VlIffYR.png
с точки зрения Thunderbird'а не является заголовком и не может быть использовано ни для чего. Знаешь почему? Имя заголовка заканчивается двоеточием, потом пробел, а все остальное в строке, а возможно и в следующей строке, если она начинается с пробела, является значением заголовка. Где в выделенной той строчке двоеточие после From и пробел после этого двоеточия? Ах, нету... Ну так ото ж!

А вот это вот решение не может иметь отношения к вопросу?
http://blog.dmitryleskov.com/small-hack … d-to-work/
Это было много лет назад и про IMAP к тому же, но я понятия не имею про все эти mailnews.customDBHeaders, а проверить не могу :angel:

Возможно этим и пользуется

yup пишет

расширение "IMAP received date"

а к теме отношения не имеет.

Coroner пишет

А вот это вот решение не может иметь отношения к вопросу?
http://blog.dmitryleskov.com/small-hack … d-to-work/
Это было много лет назад и про IMAP к тому же, но я понятия не имею про все эти mailnews.customDBHeaders, а проверить не могу :angel:

Спасибо, посмотрю, видимо придется писать расширение...

Dzirt пишет

Считаешь, что это баг? Тогда тебе вот сюда и нефиг засорять бессмысленными постами форум

Другого места не нашел куда писать, вот и написал на этом форуме.
А про формат заголовка в курсе, что он заканчивается на ": ", но это не отменяет того факта, что данная строчка пишется после получения письма клиентом, и далее не используется! Если мне пришло письмо 2 недели назад, и оно было отправлено ночью, а я точно по ночам сплю, и нигде, кроме как этой строчки в исходнике письма, не смогу найти дату фактического получения!

jonyrh пишет

не смогу найти дату фактического получения!

Возможно потому, что дата фактического получения письма почтовым клиентом мало кого интересует. Меня например, она абсолютно не интересует. Могу я поинтересоваться вам-то она зачем?

Dzirt пишет

Могу я поинтересоваться вам-то она зачем?

Вот спросит меня начальник когда я получил письмо? Я ему дату получения сервером должен сказать? При том, что письмо могли отправить ночью! Это только в случае POP клиента.

jonyrh пишет

Вот спросит меня начальник когда я получил письмо?

Внимательно прочтите мой вопрос еще раз и перестаньте уже мешать в одну кучу совершенно разные и несовместимые факты. Вы не получали письмо, вы могли:
1. Увидеть, что пришло письмо (в списке например)
2. Открыть письмо (и не читать его)
3. Прочитать письмо
4. Ну да, ну да... :) Прочитать письмо и понять его смысл. Можете этот четвертый пункт исключить.

И вот теперь я повторю свой вопрос: какое отношение к этим трем (или четырем) фактам имеет дата/время получения письма почтовой программой?

PS: Это я еще не рассмотрел случаи неправильного времени на компьютере и правки файла с письмами прямо на диске. Это имеет прямое отношение к процитированному мной вашему "агрументу" про начальника - ничего на вашем компьютере не является доказательством, потому что вы на своем локальном компьютере можете подделать все что угодно. Поэтому как доказательство принимаются только серверные копии и логи.

Dzirt пишет

Внимательно прочтите мой вопрос еще раз и перестаньте уже мешать в одну кучу совершенно разные и несовместимые факты. Вы не получали письмо, вы могли:
1. Увидеть, что пришло письмо (в списке например)

Первый вариант.
Не нужно путать настройки POP и IMAP. IMAP - зеркало почтового сервера, а POP - это клиент почтового сервера.
В случае получения письма IMAP в колонке "Получено" должна быть дата получения именно почтового сервера. (Тут все правильно, вопросов нет!)
А в случае получения письма POP  в колонке "Получено" логична дата получения именно POP-клиентом. Иначе зачем нужна новая запись о фактическом времени получения POP-клиентом в eml-теле письма.

По поводу логов, то можно и на почтовом сервере exim подделать, но речь не об этом.

jonyrh пишет

Не нужно путать настройки POP и IMAP. IMAP - зеркало почтового сервера, а POP - это клиент почтового сервера.

В первую очередь, не нужно путать почтовый сервер и протоколы доступа к почтовому серверу.

jonyrh пишет

В случае получения письма IMAP в колонке "Получено" должна быть дата получения именно почтового сервера.

Какого именно из нескольких промежуточных серверов? И таки да, она там есть (заголовки "Received:", их обычно несколько). Вот только показывать ее в клиенте нет никакой необходимости. И если кому-то когда-то она понадобиться, то ее легко найти и прочитать в заголовках. Но это чрезвычайно редкий случай.

jonyrh пишет

А в случае получения письма POP  в колонке "Получено" логична дата получения именно POP-клиентом. Иначе зачем нужна новая запись о фактическом времени получения POP-клиентом в eml-теле письма.

С вашей точки зрения логична? С моей и с точки зрения разработчиков Thunderbird - не особо. Зачем нужна запись о фактическом времени получения? Да без понятия... Возможно, для таких уникумов как вы. А чтобы не мешать всем остальным - она не показывается в интерфейсе, но ее легко прочитать нажав Ctrl+U на интересующем письме. Это - теория. И опять повторю - считаете это багом - добро пожаловать на Bugzilla.

jonyrh пишет

По поводу логов, то можно и на почтовом сервере exim подделать, но речь не об этом.

Правда? И часто вы например на GMail'е подделывали записи? ;) Или вы о своем локальном exim'е? Так он, ваш локальный exim, никого вообще не будет интересовать в обсуждаемом нами вопросе - потому, что он локальный.

Dzirt пишет

Правда? И часто вы например на GMail'е подделывали записи? ;) Или вы о своем локальном exim'е? Так он, ваш локальный exim, никого вообще не будет интересовать в обсуждаемом нами вопросе - потому, что он локальный.

Я не имел ввиду gmail, кроме него еще есть и сегмент корпоративных сетей которые бывают закрытые (локальные).  И речь вообще не об этом, и даже не об подделке логов, а только об отображении даты фактического получения письма через POP.

Как видно придется писать расширение именно для поиска первой стройки "From -" (раз уж она хоть где то есть!) в теле письма и отображении её в отдельной колонке или еще где нибудь...

Coroner пишет

А вот это вот решение не может иметь отношения к вопросу?
http://blog.dmitryleskov.com/small-hack … d-to-work/
Это было много лет назад и про IMAP к тому же, но я понятия не имею про все эти mailnews.customDBHeaders, а проверить не могу

Эта проблема специфична для работы по IMAP: Thunderbird говорит серверу, какие поля заголовка письма ему присылать, и среди этих полей не указывает то, в котором находится время прихода письма на сервер. В случае POP3 ничего подобного быть не может - там заголовок всегда присылается полностью.

05-06-2017 14:07:51
А давайте ещё и организационный аспект рассмотрим.

jonyrh пишет

Вот спросит меня начальник когда я получил письмо? Я ему дату получения сервером должен сказать? При том, что письмо могли отправить ночью!

Да, именно: показываем, что письмо поступило в нерабочее время. А раз так, то какие претензии?

А теперь берём:
1. Программу, которая показывает время получения письма ею, а не сервером.
2. Письмо, которое пришло в 10 утра
3. Нерадивого работника, который эту почтовую программу запустил только в конце рабочего дня.
Согласно показаниям программы, письмо поступило в конце дня. Для работника это "спасение", но захочет ли начальник этого работника использовать такую программу?

yup пишет

А теперь берём:
1. Программу, которая показывает время получения письма ею, а не сервером.
2. Письмо, которое пришло в 10 утра
3. Нерадивого работника, который эту почтовую программу запустил только в конце рабочего дня.
Согласно показаниям программы, письмо поступило в конце дня. Для работника это "спасение", но захочет ли начальник этого работника использовать такую программу?

Да тут дело не в начальнике, есть ведь и сервисы с автоматическим приемом почты и отправкой, например заявки различных "сервис-десков", включая самописные. Или автоматический обмен данными периферийных баз 1С через почту. В некоторых случаях отправка и получение базируется именно на POP-клиентах (не Thunderbird). И дата получения играет не малую роль...

Например:
Задача на определенное время отправить выгрузку 1с на почту удаленного филиала, данная задача происходит 1 раз в сутки.
На другом конце так же задача проверить почту на нужное письмо 1 раз в сутки. Если по какой то причине, нет связи, или еще что то нибудь, то тут как раз поможет данная дата, дата именно фактического получения. И по ней можно будет узнать дату фактического обмена, или когда именно пропущен обмен.

Я понимаю, что способов автоматизации процесса передачи для 1с множество, я просто привел пример необходимости этой даты.

jonyrh пишет

Задача на определенное время отправить выгрузку 1с на почту удаленного филиала, данная задача происходит 1 раз в сутки.
На другом конце так же задача проверить почту на нужное письмо 1 раз в сутки. Если по какой то причине, нет связи, или еще что то нибудь, то тут как раз поможет данная дата, дата именно фактического получения.

Я понимаю, что способов автоматизации процесса передачи для 1с множество, я просто привел пример необходимости этой даты.

(Хорошо, забудем об автоматизации и рассмотрим предложенный пример)
Чем поможет?
Поставим мысленный эксперимент.
На отправляющей стороне в заданное время выгрузили из 1С данные, сформировали письмо и отправили его. На сервер получателя это письмо пришло за несколько секунд. Но у получателя был обрыв связи, который устранили даже не завтра, а только через 3 дня. За 3 дня на сервере накопились разные письма, в том числе и с такими же точно выгрузками. А потом связь заработала и все эти письма одновременно принялись. Если в программе мы видим дату прихода письма на сервер, то всё понятно. А если дату получения программой? Они же одновременно пришли! Придётся плюнуть на эту дату и смотреть дату отправления. Или лезть в заголовки и смотреть дату прихода на сервер.

yup пишет

Поставим мысленный эксперимент.
На отправляющей стороне в заданное время выгрузили из 1С данные, сформировали письмо и отправили его. На сервер получателя это письмо пришло за несколько секунд. Но у получателя был обрыв связи, который устранили даже не завтра, а только через 3 дня. За 3 дня на сервере накопились разные письма, в том числе и с такими же точно выгрузками. А потом связь заработала и все эти письма одновременно принялись. Если в программе мы видим дату прихода письма на сервер, то всё понятно. А если дату получения программой? Они же одновременно пришли! Придётся плюнуть на эту дату и смотреть дату отправления. Или лезть в заголовки и смотреть дату прихода на сервер.

Пусть тогда будет условие, из ящика берется одно письмо, последнее, с нужной темой как идентификатор (статический и всегда один), при получении которого ящик чистится.

В таком случае, если отложить в сторону кучку возникающих интересных "если", дата вообще значения не имеет! :D После указанной процедуры письмо остаётся одно, и точно известно, что оно принято сегодня. А завтра это уже не будет иметь значения, потому что придёт новое письмо, а сегодняшнее будет удалено.

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

Например, если первая строка в заголовке письма начинается "From - ", то показать эту дату в области заголовков (где кнопки Ответить, Ответить всем, переслать)

jonyrh пишет

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

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

У меня есть несколько писем 2070 года и одно по моему 1970 :lol:
..
так что не вижу чего в этих датах, как просто примерные ориентиры, которые могут реально ошибаться.

Если вам нужна гарантичная доставка, то как мин
1) включайте уведомлении о доставке
2) уведомление прочтении
3) просьба в письме ответить как толь ко получит адресат.

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