AquaMail Forum

На Русском языке => А как сделать... => Topic started by: Taran2ul on July 11, 2014, 07:29:36 pm

Title: Настройка взаимодействия с сервером
Post by: Taran2ul on July 11, 2014, 07:29:36 pm
Здравствуйте.
Как настроить программу чтобы при проверке почты на сервере не ставились отметки о прочтении и при удалении писем из программы они не удалялись с сервера. Т.е. чтобы программа никак не влиял на письма на сервере.
Про удаления прочитал в FAQ "Выбрать “Как удалять сообщения” – “Скрывать в программе”." - это единственный способ?
Просто все это можно сделать в ProfiMail. И все работает (письма остаются на сервере и пометка о прочтении не ставится), значит реализуемо.

PS Не в обиду, просто спрашиваю.
Title: Re: Настройка взаимодействия с сервером
Post by: Kostya Vasilyev on July 12, 2014, 01:46:56 am
При скрытии сообщения помечается как прочтенное.

Мне это необходимо для правильного учета количества непрочтенных сообщений - с учетом скртых.

Насчет ProfiMail - я не обиделся. У каждой программы свои алгоритмы.
Title: Re: Настройка взаимодействия с сервером
Post by: Taran2ul on July 12, 2014, 12:45:28 pm
Можно же вести лог полученных писем, где, например, отмечать отправителя и дату проверки корреспонденции. И тогда при следующей проверке все непрочитанные письма с последнего обновления будут считаться новыми, а непрочитанные на сервере письма до даты предыдущей проверки, будут считаться прочитанными и не будут повторно получены, даже если на сервере стоит отметка о НЕпрочтении.
И тогда все будет нормально. Программа сможет локально удалять письма, а не скрывать. Так же при новой проверке, письма удаленные с сервера могут быть удалены локально, или не удалены - в зависимости от настройки.

Просто основной почтовик у меня TheBat!, а на телефоне, это так быстро глянуть кто, что написал. И получается, что если я в AquaMail посмотрел письмо, то TheBat! его уже не получит.
Title: Re: Настройка взаимодействия с сервером
Post by: Kostya Vasilyev on July 12, 2014, 07:26:21 pm
"если я в AquaMail посмотрел письмо, то TheBat! его уже не получит"

Во-первых, вы недоговариваете -- не просто "посмотрел", а "посмотрел и удалил не удаляя".

Во-вторых, почему собственно "не получит"? Получит, но оно не будет отмечено непрочтенным (если The Bat - работает через IMAP, а вот если через POP3, то даже и отмечено будет... но кажется это не Ваш случай).

Все-таки разные вещи, не так ли?

Кстати, если настроите учетную запись в Акве через POP3, то при скрытии письма будут -- может быть -- оставаться на сервере непрочтенными. "Может быть" - зависит от почтового сервера. Некоторые автоматически помечают прочтенными при загрузке через POP3, а у некоторых есть настройка, в веб-почте.
Title: Re: Настройка взаимодействия с сервером
Post by: Taran2ul on July 13, 2014, 12:54:14 am
Да я от вас утаил, что пользуюсь POP3 ;-)

Удалось добиться почти желаемого результата.
Установил в программе "Никогда не отмечать как прочитанное" и "Скрывать при удалении". При таких настройках почта получается и не отмечается на сервере как прочитанная. Даже если открыть письмо для прочтения, но это справедливо только для (из проверенных) mail и rambler, на gmail при получении заголовков тоже все норм, но как только письмо открывается для прочтения, оно сразу помечается как прочитанное. Проверил все не раз. И вот что интересно - в ProfiMail такой "проблемы" нет. Даже если открыть письмо в полном тексте, то оно все равно не помечается прочитанным. Как так?
Title: Re: Настройка взаимодействия с сервером
Post by: Kostya Vasilyev on July 13, 2014, 02:03:26 am
Ну что Вы все про ProfiMail да про ProfiMail....

"Почему на моем Форде зеркала не как на Вольво"

Да, есть разница, да, возможно где-то доставляет неудобство, а кому-то вполне нормально.

Но вот в самом деле, ну почему зеркала на Форде не как на Вольво?

Серьезно, ну почему?
Title: Re: Настройка взаимодействия с сервером
Post by: Taran2ul on July 13, 2014, 11:46:28 am
Вы не смотрите в корень моих вопросов ;-) (И у Форда и у Вольво зеркала показывают одинаковое отражение объекта перед ними!) Я говорю о том что это (не сообщать серверу о прочтении) возможно. Почему вы не пойдете навстречу благодарным пользователям и не реализуете это в своей программе. Неужели это настолько сложно? Да может это не нужно многим, но это нужно не одному мне, кто-то забывает об этом попросить, кто-то не знает/решается это сделать, кто-то думает, что попросят за него, ну и кто-то пока не знает, что это ему нужно ;-)
Title: Re: Настройка взаимодействия с сервером
Post by: Kostya Vasilyev on July 14, 2014, 02:08:14 am
А я говорю Вам о том, что протокол POP3 не имеет ни обмена информацией о статусе прочтенности, ни команд чтобы ее выставлять.

Вы же используете именно POP3.

При этом различные почтовые сервисы имеют различную логику, чтобы помечать как прочтенное при использовании почтовых программ через POP3.

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

Но Вы используете POP3.

У Яндекса для вот этой логики пометки прочтенным есть настройка, прямо в веб-почте.

У Mail.ru я такой настройки не видел, но Вы сумели заметить закономерность (в зависимости от полноты загрузки письма).

Но - еще раз - в POP3 нет ни обмена состоянием писем, но команд чтобы его менять.
Title: Re: Настройка взаимодействия с сервером
Post by: Taran2ul on July 14, 2014, 01:02:53 pm
Если, как вы утверждаете, все зависит от сервера, то любая программа не зависимо от версии, платформы или еще чего, должна работать с предсказуемым и единственно верным результатом, а именно сервер отметит письмо прочтенным при получении по POP3. Но почему же при получении почты злосчастным ProfiMail, сервер этого не делает. Ведь это подтверждает, что не все зависит от настроек сервера.
Title: Re: Настройка взаимодействия с сервером
Post by: Kostya Vasilyev on July 16, 2014, 02:20:56 am
@Taran2ul --

Вы задаете вопросы в духе мистического реализма (в программе ProfiMail присутствует "Дух Почты", и она может делать даже то, что не повзолено почтовыми протоколами).

Но мне кажется, что все значительно проще. У Вас где-то IMAP.

На Mail.ru IMAP худо-бедно поддерживается с прошлого (или поза-прошлого?) лета, и автоматическая настройка в AquaMail использует именно его.

Возможно, что и в ProfiMail есть некая эвиристика на этот счет (попорбовать imap.<domain>, порт 993, получится - используем), либо вообще заложены настройки для этого, в общем-то, популярного сервиса, и тоже через IMAP.

Думаю, что это стоит проверить.
Title: Re: Настройка взаимодействия с сервером
Post by: Taran2ul on July 16, 2014, 10:15:53 am
Вот вы смеетесь. Я же настраивал все вручную, но проверил, на всякий случай, везде POP3. И в принципе особо интересует gmail, ибо с остальными ящиками вроде как проблем нет.
И вы же разработчик, разбирающийся в логике работы, почему бы не посмотреть как это организованно в ProfiMail.
Title: Re: Настройка взаимодействия с сервером
Post by: Kostya Vasilyev on July 16, 2014, 09:13:29 pm
В Gmail - IMAP, там да, скрытие сообщений будет помечать прочтенным.

Про ProfiMail - вы мне предлагаете разобрать бинарный код ProfiMail?

Что бы там ни было, POP3 не имеет возможности передачи состояния прочтенности, какой бы волшебной ни была почтовая программа. Я же разработчик, и представляю себе возможности этого протокола (и IMAP тоже).
Title: Re: Настройка взаимодействия с сервером
Post by: Taran2ul on July 16, 2014, 09:58:57 pm
Еще раз, я настраивал все вручную - у меня везде POP3, и в gmail тоже.
Title: Re: Настройка взаимодействия с сервером
Post by: Kostya Vasilyev on July 17, 2014, 01:13:21 am
( размеренно  )

Сетевой протокол POP3 не предоставляет

1) Передачи состояния "прочтенное или нет" от сервера к почтовой програме

2) Пометки сообщения на сервере почтовой программой как "прочтенное или нет"

Под "почтовой программой" понимается *любая почтовая программа, работающая через этот протокол, POP3*

Таким образом

Пометка сообщения на сервере как прочтенное, это исключительно дело сервера, и разные почтовые сервера / службы, делают это по-разному.

----

Да, и про Gmail через POP3.

Вы в курсе, что их сервер POP3 отдает каждое письмо только один раз? То есть "кто первый встал, того и тапки"?

Попалась первой Aqua -- все, The Bat-у то же письмо сервер уже не покажет.

Мы не об этом случайно вообще речь ведем?

Это намеренное поведение Gmail через POP3.

Подробности (в том числе и ответ на вопрос "что делать") - в справке Gmail:

https://support.google.com/mail/answer/47948?hl=ru

Title: Re: Настройка взаимодействия с сервером
Post by: Taran2ul on July 17, 2014, 10:11:43 am
Quote
Под "почтовой программой" понимается *любая почтовая программа, работающая через этот протокол, POP3*
Пометка сообщения на сервере как прочтенное, это исключительно дело сервера, и разные почтовые сервера / службы, делают это по-разному.
Все так, но одна из "любых почтовых программ", та которая с "Духом почты", все же как то обходит это.

Quote
Вы в курсе, что их сервер POP3 отдает каждое письмо только один раз? То есть "кто первый встал, того и тапки"?
Конечно в курсе, но у "Духа почты" все же получается так получить письмо, чтобы и другим хватило.

PS
И это.... вы же сами дали ссылку на справку. (https://support.google.com/mail/answer/47948?hl=ru)
Это как я понял и есть костыль для "моего случая". Так что вам мешает добавить в программе опцию, скажем, галочку "Несколько клиентов POP", которая и будет добавлять "recent:" к "username@gmail.com" при работе с ящиком.

PSS
Не знаю интересно ли вам, но я могу перевести программу на белорусский язык.
Title: Re: Настройка взаимодействия с сервером
Post by: Kostya Vasilyev on July 18, 2014, 01:56:19 am
У нас получается спор про "самоходную повозку" -- "там двигатель внутренного сгорания" -- "нет, там дьявольский дух, свят свят свят".

Никакого "обхода" нет и быть не может.

В целом - общем случае - с которого началось обсуждение -- POP3 это POP3, почитайте документацию, в конце концов, там всего с десяток команд.

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

Но и это тоже -- заметьте -- вписывается в мои слова про "особенности сервера".

Настройка для @gmail в AquaMail, по умолчанию, это IMAP. Он просто лучше: доступ к папкам, пуш-почта, синхронизация отправленных и черновиков, и т.д.

Вам лично -- захотелось POP3. Отлично. Настройка вручную, и поехали.

Но Вы не учли очень важной особенности Gmail / POP3, видимо, просто не знали об этом. А дальше - зачем-то про святой дух и диавола. Никакой магии нет, просто нужно знать, что происходит и что делать.

Ну и чтобы как-то это все подвести к концу:

Просто-напросто добавьте этот самый "recents:" а Акве. Не в "моем адресе", а именно в логине для входа на сервер POP3.

- Длинное нажатие на учетной записи
- Основные настройки
- Ничего не меняйте
- Нажмите Вручную

--- здесь Вы видите подробные настройки входящего сервера POP3 ---

- Добавьте перед логином "recents:"

Вперед, сохранить, и т.п.
Title: Re: Настройка взаимодействия с сервером
Post by: Taran2ul on July 18, 2014, 04:57:16 pm
Знаете анекдот:
Жена посылает программиста в магазин:
 - Дорогой, купи, пожалуйста, палку колбасы, и если будут яйца, то купи десяток.
 Через полчаса программист возвращается с десятью палками колбасы.
 Жена:
 - Что это?! Зачем ты купил столько колбасы?
 Программист:
 - Ну так яйца-то были...

Вот и вы мыслите как программист. Я не говорю, что это плохо или хорошо, просто это так.

Тем не менее вариант с "recents:" работает как надо, так что спасибо за помощь.
Удачи в развитии программы. Если передумаете насчет перевода, пишите.
Title: Re: Настройка взаимодействия с сервером
Post by: Kostya Vasilyev on July 19, 2014, 12:10:46 am
Ну вот.

Доделали свои настройки как написано в помощи по почтовому сервису - и о чудо, заработало. Надо же.

Если бы я мыслил как диспетчер такси, или депутат государственной думы, то я не писал бы программы. Так что спасибо на добром слове.