Масштабирование Geary в 4k

Вот как я настраивал почту на наших производственных машинах. Это критерии, которые нам нужны:

Учетные записи электронной почты Email-псевдонимы (пересылки) IMAP, POP3 и SMTP

«Простой» (tl; dr)

Во-первых, я хочу решить, что будет самым простым решением.

sudo tasksel install mail-server

Несколько проблем с этим произошли, когда мы это пробовали: сначала он устанавливает Dovecot, что отлично подходит для большинства, но мы считается, что Курьер лучше всех из них для самых простых потребностей. Во-вторых, он использует Postfix, который замечательный, но нам также нужен Exim, поскольку он является более мощным сервером MTA / SMTP. В-третьих, он устанавливает MySQL - в конфигурации, которую я использую, мы предпочитаем плоские файлы для конфигурации, так как это одна точка разлома. Подумайте, что произойдет, если MySQL разбился по неизвестной причине. В противном случае остальные пакеты довольно просты и просты в обслуживании для небольшой почтовой службы (думаю, всего 1-2 домена электронной почты).

Наша конфигурация

Структура каталогов [!d11 ]

Мы немного отклонились от пути нормальных конфигураций, но это упрощает управление.

Вся наша почта хранится в /var/mail/virtual/<domain>/<user>/mail. Поэтому для будущих примеров я буду использовать email@example.com, fwd@example.com, foo@example.com, чтобы указать адрес электронной почты, переадресацию, чтобы перейти к example@gmail.com, и плохой адрес соответственно. В приведенном выше примере это будет /var/mail/virtual/example.com/email/mail.

Я также поддерживаю список всех доменов на сервере в /etc/valiases, но об этом позже.

Postfix

Это более или менее простая часть установки. Просто установите пакет postfix.

Exim

Установите Exim с apt-get install exim4 exim4-base exim4-config exim4-daemon-heavy. После установки вам необходимо отредактировать конфигурацию по умолчанию exim, чтобы заменить или добавить следующие значения: [ ! d18]

domainlist local_domains = @:localhost:dsearch;/etc/valiases:dsearch;/var/mail/virtual
daemon_smtp_ports = smtp : 587 : 465
MAIN_TLS_ENABLE = yes

(Эти строки появятся в разных частях файла, замените их соответственно)

После того, как это будет завершено, перестройте конфигурацию exim с помощью update-exim4.conf. На этом завершены изменения, необходимые для Exim

Courier

Установить Courier с courier-base, это должно установить courier-authdaemon, courier-authlib*, courier-imap*, courier-pop*, courieruserinfo, courier-ssl [!d22 ]

Там честно не так много конфигурации вне стандарта. Вам просто нужно создать пользовательскую базу данных.

Учетные записи

Exim и Courier проверяют несколько мест, чтобы узнать, действительны ли логин или входящий адрес электронной почты. Exim проверяет, указан ли домен как локальное имя хоста, или если домен находится в /var/mail/virtual или домен находится в /etc/valiases.

Создание учетных записей электронной почты

В конечном итоге я создал несколько инструментов для оптимизации этого процесса, но добавление нового пользователя идет по следу:

mkdir -p /var/mail/virtual/example.com/email
chown -R mail.mail /var/mail/virtual/example.com/
maildirmake /var/mail/virtual/example.com/email/mail
chown -R mail.mail /var/mail/virtual/example.com/

Затем добавьте адрес курьером userdb - чтобы они могли войти в систему

userdb email@example.com set uid=8 gid=8 home=/var/mail/virtual/example.com/email mail=/var/mail/virtual/example.com/email/mail

Обязательно замените значения, если это необходимо. Кроме того, uid и gid должны быть численными идентификаторами пользователя / группы для почтового пользователя.

userdbpw -md5 | userdb email@example.com set systempw

Это предложит вам ввести пароль, введите тот, который вы хотите использовать для account.

makeuserdb

Наконец, сгенерируйте файлы hash / shadow userdb. Перезагрузите курьер и проверьте, работают ли ваши изменения:

authtest email@example.com

Должно вызывать нечто похожее на

Authentication succeeded.

     Authenticated: email@example.com  (uid 8, gid 8)
    Home Directory: /var/mail/virtual/example.com/email
           Maildir: /var/mail/virtual/example.com/email/mail
             Quota: (none)
Encrypted Password: $1$LOLCATS$THISWILLBEAHASH.
Cleartext Password: (none)
           Options: (none)

Если вы видите «Authentication FAILED: Operation not allowed» вместо этого отредактируйте / etc / courier / authdaemonrc и добавьте authuserdb в строку authmodulelist.

После того, как все тесты подтверждены, перезапустите различные задействованные службы (courier-authdaemon, exim4), откройте порты 143, 25, 586, 495 , 110 и настроить учетные записи в вашем любимом почтовом клиенте.

Создание псевдонимов электронной почты

Для каждого домена вы должны создать файл в /etc/valiases (создать, если он не существует) по крайней мере, следующей строкой:

*: :fail: No user at this address.

Что это говорит: Если входящая почта не соответствует какой-либо учетной записи электронной почты, которую я имею в файле, тогда почта должна быть сбойной и отскакивать с сообщением: Нет пользователя по этому адресу ". Таким образом, вся почта, посланная, чтобы сказать: foo@example.com, будет отклонена как сбой.

Однако у нас есть несколько адресов электронной почты, которые мы хотим поддерживать в другом месте - например, example@gmail.com - для этого нам нужно создать /etc/valiases/example.com, а содержимое файла должно быть следующим:

fwd: example@gmail.com
*: :fail: No user at this address.

Таким образом, хотя fwd@example.com не соответствует учетным записям электронной почты на сервере, это совпадений в файле /etc/valiases, и почта будет перенаправлена ​​на example@gmail.com. Однако foo@example.com по-прежнему будет работать с сообщением «Нет пользователя по этому адресу».

131
задан 27 July 2017 в 04:18

0 ответов

Другие вопросы по тегам:

Похожие вопросы: