Я настраиваю небольшую домашнюю сетку имеющую выход в Интернет через шлюз (одна из машин сети с модемом, соединение - коммутируемое, нерегулярное). Машина-шлюз работает под Линуксом, на прочих стоит как Линукс, так и винда.
Существует некоторое кол-во пользователей, у каждого - некоторое кол-во почтовых ящиков на бесплатных серверах (типа mail.ru). Требуется обеспечить удобный доступ к почте для всех пользователей, как из Линукса, так и из винды, с помощью самых разных почтовых клиентов, причем очень хочется, чтобы один и тот же набор писем (скаченных со всех ящиков) был доступен пользователям и из Линукса, и из винды. Т.е. у некоторого пользователя есть ящик на mail.ru и на aport.ru. Письма с ящиков при возникновении соединения с инетом скачиваются в некое хранилище, доступ к которому есть и из винды, и из Линукса, причем с помощью стандартных почтовиков (они должны читать почту из хранилища, не скачивая ее себе). Тогда работа с письмами не привязана к какой-либо оси. Посылка идет схожим образом.
Какие пути я вижу для обеспечения нарисованной картины: Входящая почта - на шлюзе cron время от времени запускает fetchmail (если есть соединение), который скачивает письма; письма складируются в хранилище, доступ к которому осуществляется по протоколу IMAP с прочих локальных машин. Исходящая -
а). почтовики на локальных машинах настроены на SMTP-сервер, в роли которого выступает шлюз, на шлюзе работает sendmail с опцией SMART_HOST настроенной на провайдеровский SMTP-сервер.
б). почтовики настроены на SMTP-сервер (шлюз), на шлюзе sendmail, который в зависимости от пользователя подключается к тому или иному почтовому серверу (из тех, на которых пользователи имеют свои ящики) и шлет письма таким образом.
Вопросы:
1. Общие:
а). В правильном ли направление я размышляю? Может есть более удачные решения?
б). Упомянутое ПО уже стоит, но может быть стоит присмотреться к другим почтовым агентам (например, postfix или qmail вместо sendmail и т.д.)?
2. Входящая почта:
а). я не разбирался детально с fetchmail'ом и imap'ом - возможна ли такая схема?
б). В установленной системе (Slackware 9.1) есть imapd, по-видимому, от Вашингтонского универа, в дистре я не нашел к нему описаний (кроме крохотных man-страничек). Зато есть документация к Cyrus, Courier. Что лучше подойдет для данной схемы?
3. Исходящая почта:
а). Насколько я знаю, sendmail может переписывать заголовки сообщений, подменяя обратный адрес на заданный. Будет ли этого достаточно, чтобы письма для получателей выглядели пришедшими с ящиков пользователей на бесплатных серверах? Тут главное, чтобы пользователи всегда могли получить ответ на свои письма.
б). Как происходит отправка письма посредством стороннего почтового сервера, где пользователь имеет учетную запись, с помощью почтового клиента? Если я просто подсоединяюсь к 25 порту соотв. сервера telnet'ом и пытаюсь отправить письмо, то мне заявляют, что нельзя слать письма для внешних (относительно почтового сервера) получателей. Наверное, нужна какая-то авторизация? Если да, то можно ли настроить соотв. образом sendmail? Есть вариант с посылкой через сервер провайдера, который, по-видимому, шлет такую почту от внутресетевых клиентов, но этот вариант неудобен из-зи привязки к прову.
в). Можно ли сделать так, чтобы sendmail накапливал почту и отправлял ее когда появляется соединение? По-умолчанию, он пытается ее отправить, затем ставит в очередь и время от времени пытается отправить оттуда. Хочется, чтобы он зря не напрягался.
г). Можно ли сделать так, чтобы sendmail для каждого пользователя пробовал отправлять письма через соотв. бесплатные сервера и в случае неудачи пробовал все сервера, на которых пользователь имеет ящики? Т.е. есть список ящиков для такого-то пользователя (для sendmail'а - список SMTP-серверов), отсортированных по степени предпочтительности, sendmail пробует послать через первый, если неудача, то через второй и т.д.
Я новичек в таких делах, поэтому буду очень благодарен подробным разъяснениям.