За последние 24 часа нас посетили 60330 программистов и 1819 роботов. Сейчас ищут 843 программиста ...

Вопрос про Dovecot

Тема в разделе "PHP для новичков", создана пользователем pircul, 31 дек 2015.

  1. pircul

    pircul Активный пользователь

    С нами с:
    14 янв 2014
    Сообщения:
    100
    Симпатии:
    0
    Всех с наступающим!
    Мне интересно, зачем нужен IMAP/POP3 сервер Dovecot?
    Его задача насколько я понимаю получить данные у почтового сервера и отдать их клиенту
    Теперь, вопрос, почему клиент сам не может напрямую обратиться к почтовому серверу и получать письма?
    Зачем нужно было придумывать IMAP/POP3 сервер, к которому обращается клиент, а тот в свою очередь к почтовому серверу для получения писем и отдачи их клиенту? Что это дает?
    На первый взгляд лишняя прослойка. Чего я не понимаю?
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    ну тут собственно единственное недопонимание это "как это всё работает". почему нет вопроса "зачем нужны апач, нгинкс, лайташтитипиди и компания если браузер может сразу прочитать файл с сервера?"? почему нет вопроса "зачем нужен пхп?"?

    почта хранится в текстовых файлах. аймап дает доступ к этим файлам оставляя их у себя по сути. поп3 дает возможность клиенту эти файлы скачать к себе на машину а с сервера - удалить. кстати на клиентской машине они тоже будут хранится в отдельных емл-файлах, если почтовых клиент не собирает их в один большой "архив" или по архиву на каталог допустим.

    довкот собственно сервер который реализует имап и поп3 протоколы. то есть без довкота ваш почтовый клиент не получит письма с сервера так как сервер не понимает протоколов имап и поп3. равно как без апача браузер не получает вот эту страницу потому что тупо не знает протокола передачи гипертекста.
     
  3. pircul

    pircul Активный пользователь

    С нами с:
    14 янв 2014
    Сообщения:
    100
    Симпатии:
    0
    Выходит почтовые клиенты используют imap/pop3, но почтовый сервер их не понимает
    но довкот понимает imap и в то же время умеет общаться с почтовым сервером, поэтому через него мы можем попросить данные по письмам
    и что бы оставить почтовым серверам возможность по своему обрабатывать запросы на получение данных по письмам используются прослойки вроде довкота которые умеют общаться к конкретными почтовыми серверами а клиенту в конечном счете все равно какой почтовый сервер.
    Я правильно все понял?

    Добавлено спустя 14 минут 47 секунд:
    Можно было бы встроить поддержку IMAP/POP3 и в сам почтовый сервер но наверное не сделали что бы сохранить принцип единственной ответственности?
     
  4. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Понятие "почтовый сервер" - это расплывчатое понятие. Он состояит из нескольких частей, в частности оперируют понятиями MTA и MDA.
    MTA принимает почту (от клиента MUA или другого MTA) и или пересылает ее другому MTA или отдает ее MDA если почта локальная.
    MDA хранит почту и дает доступ к ней.
    Вот Dovecot - это MDA - он умеет получать почту от MTA, разбирать ее по пользователям системы, класть ее на диск и давать доступ пользователям к почте через POP/IMAP. А MTA - это, например, postfix. Эта совокупность и называется "почтовый сервер", т.е. Dovecot - часть почтового сервера.
     
  5. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    0) вот есть свалка файлов.
    1) если поставить программу "фтп-сервер" - люди смогут гулять по ней с использованием протокола фтп. и это уже будет железяка "фтп-сервер" так как она понимает фтп. и можно дать права на запись - тогда клиент сможет свои файлы на сервер загрузить.
    2) можно поставить веб-сервер и железяка будет предоставлять доступ к этим файлам по протоколу хттп. это будет железяка-"веб-сервер" так как на ней есть программа "веб-сервер". а если разрешить вебдав или поставить какой-нибудь язык программирования - можно будет загружать свои файлы.
    3) если эти файлы в формате электронной почты то это всё еще просто файлы. если поставить довкот - программу которая позволяет их прочитать - железяка станет "почтовым сервером" которая как минимум умеет отдавать хранящиеся у неё файлы сообщений. а если поставить постфикс - железяка еще сможет и отсылать эти файлы другим железякам. и даже может позволить почтовому клиенту пользователя отправить его файл - электронное письмо - через себя какой-то еще железяке.
    4) а если поставить какой-нибудь виэлси или шауткаст то эти файлы можно будет вещать потоком чтоб какой-нибудь клиент мог прочитать поток и дать человеку послушать музыку или посмотреть кино. а наша железяка станет "медия-сервером"
    5) если железяка стоит в домашней сети то на нее можно поставить самбу и тогда предоставить доступ не по фтп а по виндовому протоколу обмена файлами
    6) если поставить на железяку битторрент клиент или какого-нибудь осла то она предоставит доступ к этим файлам по соответствующим протоколам.
    7) если поставить мускул а файлы будут файлами данных - можно будет делать к ним запросы на языке структурированных запросов (sql) а железяка станет сервером баз данных.

    надеюсь из приведенного примера понятно что нет никакого "почтового сервера" с которым "умеет общаться довкот". довкот просто сам является сервером почты. остаётся только учесть каким именно. довкот - дает возможность клиенту прочитать его почтовый ящик. а в остальном это всё еще всего лишь файлики.
     
  6. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    И да, есть ПО, которое объединяет в себе MTA и MDA, например, CommuniGate Pro
     
  7. pircul

    pircul Активный пользователь

    С нами с:
    14 янв 2014
    Сообщения:
    100
    Симпатии:
    0
    Ganzal, MiksIr
    Большое вам спасибо за объяснение!
    С наступающим новым годом!