Всех с наступающим! Мне интересно, зачем нужен IMAP/POP3 сервер Dovecot? Его задача насколько я понимаю получить данные у почтового сервера и отдать их клиенту Теперь, вопрос, почему клиент сам не может напрямую обратиться к почтовому серверу и получать письма? Зачем нужно было придумывать IMAP/POP3 сервер, к которому обращается клиент, а тот в свою очередь к почтовому серверу для получения писем и отдачи их клиенту? Что это дает? На первый взгляд лишняя прослойка. Чего я не понимаю?
ну тут собственно единственное недопонимание это "как это всё работает". почему нет вопроса "зачем нужны апач, нгинкс, лайташтитипиди и компания если браузер может сразу прочитать файл с сервера?"? почему нет вопроса "зачем нужен пхп?"? почта хранится в текстовых файлах. аймап дает доступ к этим файлам оставляя их у себя по сути. поп3 дает возможность клиенту эти файлы скачать к себе на машину а с сервера - удалить. кстати на клиентской машине они тоже будут хранится в отдельных емл-файлах, если почтовых клиент не собирает их в один большой "архив" или по архиву на каталог допустим. довкот собственно сервер который реализует имап и поп3 протоколы. то есть без довкота ваш почтовый клиент не получит письма с сервера так как сервер не понимает протоколов имап и поп3. равно как без апача браузер не получает вот эту страницу потому что тупо не знает протокола передачи гипертекста.
Выходит почтовые клиенты используют imap/pop3, но почтовый сервер их не понимает но довкот понимает imap и в то же время умеет общаться с почтовым сервером, поэтому через него мы можем попросить данные по письмам и что бы оставить почтовым серверам возможность по своему обрабатывать запросы на получение данных по письмам используются прослойки вроде довкота которые умеют общаться к конкретными почтовыми серверами а клиенту в конечном счете все равно какой почтовый сервер. Я правильно все понял? Добавлено спустя 14 минут 47 секунд: Можно было бы встроить поддержку IMAP/POP3 и в сам почтовый сервер но наверное не сделали что бы сохранить принцип единственной ответственности?
Понятие "почтовый сервер" - это расплывчатое понятие. Он состояит из нескольких частей, в частности оперируют понятиями MTA и MDA. MTA принимает почту (от клиента MUA или другого MTA) и или пересылает ее другому MTA или отдает ее MDA если почта локальная. MDA хранит почту и дает доступ к ней. Вот Dovecot - это MDA - он умеет получать почту от MTA, разбирать ее по пользователям системы, класть ее на диск и давать доступ пользователям к почте через POP/IMAP. А MTA - это, например, postfix. Эта совокупность и называется "почтовый сервер", т.е. Dovecot - часть почтового сервера.
0) вот есть свалка файлов. 1) если поставить программу "фтп-сервер" - люди смогут гулять по ней с использованием протокола фтп. и это уже будет железяка "фтп-сервер" так как она понимает фтп. и можно дать права на запись - тогда клиент сможет свои файлы на сервер загрузить. 2) можно поставить веб-сервер и железяка будет предоставлять доступ к этим файлам по протоколу хттп. это будет железяка-"веб-сервер" так как на ней есть программа "веб-сервер". а если разрешить вебдав или поставить какой-нибудь язык программирования - можно будет загружать свои файлы. 3) если эти файлы в формате электронной почты то это всё еще просто файлы. если поставить довкот - программу которая позволяет их прочитать - железяка станет "почтовым сервером" которая как минимум умеет отдавать хранящиеся у неё файлы сообщений. а если поставить постфикс - железяка еще сможет и отсылать эти файлы другим железякам. и даже может позволить почтовому клиенту пользователя отправить его файл - электронное письмо - через себя какой-то еще железяке. 4) а если поставить какой-нибудь виэлси или шауткаст то эти файлы можно будет вещать потоком чтоб какой-нибудь клиент мог прочитать поток и дать человеку послушать музыку или посмотреть кино. а наша железяка станет "медия-сервером" 5) если железяка стоит в домашней сети то на нее можно поставить самбу и тогда предоставить доступ не по фтп а по виндовому протоколу обмена файлами 6) если поставить на железяку битторрент клиент или какого-нибудь осла то она предоставит доступ к этим файлам по соответствующим протоколам. 7) если поставить мускул а файлы будут файлами данных - можно будет делать к ним запросы на языке структурированных запросов (sql) а железяка станет сервером баз данных. надеюсь из приведенного примера понятно что нет никакого "почтового сервера" с которым "умеет общаться довкот". довкот просто сам является сервером почты. остаётся только учесть каким именно. довкот - дает возможность клиенту прочитать его почтовый ящик. а в остальном это всё еще всего лишь файлики.