Я пытаюсь понять, как все компоненты почтового сервера сочетаются друг с другом.
Итак, мой вопрос: нужен ли мне в этом случае сервер IMAP? или может ли клиент веб-почты каким-то образом напрямую связываться с SMTP для отправки и чтения электронных писем?
Для настройки почтового сервера и веб-почты вам понадобятся две вещи:
Веб-почта на самом деле не будет получать сообщения, она будет только читать или получать их откуда-то. Это smtp-сервер (обычно тот же, что используется для отправки), который будет получать сообщения и сохранять их где-нибудь (на диске, но также может быть в какой-либо базе данных) с помощью MDA (Агент доставки сообщений). Тогда вам понадобится веб-почта для доступа к нему где-нибудь.
В зависимости от ваших настроек и клиента веб-почты, который вы хотите использовать, существуют различные варианты:
Если вам не нужны ни IMAP, ни POP3, вы можете использовать решение для прямого доступа к диску, но вам понадобится программное обеспечение веб-почты, которое может читать либо mbox
или maildir
хранилище электронной почты. Это 2 самых популярных способа хранения сообщений на хосте UNIX. mbox
это единый файл, содержащий все сообщения, maildir
- это каталог с подкаталогами, где каждое сообщение представляет собой отдельный файл. maildir
формат самый распространенный и мощный.
Такой клиент веб-почты не очень распространен, вам, вероятно, придется разработать его самостоятельно (или плагин для другого существующего программного обеспечения веб-почты). Тем не менее, я знаю, что есть один, способный сделать это. SqWebMail, входит в комплект курьерского почтового сервера.
Хранение сообщений БД возможно, но, вероятно, используется только в очень больших установках.
Вас также может заинтересовать этот пост на StackOverflow.
Нет. Клиент, который получает через SMTP уже не клиент, а сервер. Хотя нет никаких технических причин, по которым у вас не может быть SMTP-сервер с веб-интерфейсом для доступа к сообщениям, клиенты работают по-другому. Также имейте в виду, что SMTP - это протокол push, поэтому, хотя другой сервер, безусловно, может отправлять сообщения вашему «клиенту», этот «клиент» может получать сообщения по сети.
Это связано с тем, что я ответил ранее сегодня:
Письма не приходят в Squirrelmail?
За исключением того, что вы используете Roundcube вместо Squirrelmail.
Также обратите внимание на:
http://wiki.mutt.org/?MailConcept
в качестве обзора различных компонентов почтовой системы (например, MTA, MUA, MDA).
Roundcube, если я помню, это чисто IMAP-клиент, может, какой-то POP3, не припомню. В любом случае вам понадобится IMAP-сервер, действующий как MDA.
Тем не менее, я не могу придумать ни одного почтового веб-клиента, который мог бы получить доступ к устаревшим почтовым буферам без каких-либо усилий. Можно было бы написать один, но он кажется несколько негибким, учитывая, что мы уже изобрели IMAP, который решает такие проблемы, как одновременный доступ к файлу спула и т. Д. Если вы используете настоящую почтовую систему в В наши дни вы захотите использовать MDA, поддерживающий что-то вроде IMAP.
Существуют также большие системы коллективного пользования, такие как Horde или Zimbra. Это даст вам всю почтовую систему (плюс другие приложения для совместной работы) в одном большом пакете, так что, в некотором смысле, вы будете устанавливать только одну часть программного обеспечения. Но под капотом внутренности будут иметь концепцию архитектуры почты, о которой я упоминал выше, с MTA -> MDA -> MUA.