Налагодження поштової системи

Exim є одним з кращих MTA, тому що він чертовски швидкий, безкоштовний, має велику кількість можливостей і підтримуваних технологій, а також можливістю гнучкої і тонкої настройки під будь-які завдання. Однією з найбільш класних фіч Exim, а є списки контролю доступу (ACL), за допомогою яких можна управляти потоком листів практично не обмежуючи себе ні в чому. Exim з коробки підтримує різні формати поштових скриньок. Також варто відзначити можливість пошуку конфігурації в звичайних файлах і різних базах даних (PostgreSQL, MySQL, LDAP і д.р.). Загалом, у нього є купа достоїнств, які можна перераховувати практично до безкінечності.

Тепер пару слів про конфігурціі MTA. Як вже було сказано раніше Exim у нас буде займатися тільки прийомом і передачею поштових повідомлень, тому в конфіги можна побачити, що запускаю я його під користувачем smmsp. smmsp - є стандартним системним користувачем, з опису якого можна побачити, що він призначений для процесу, що займається пересиланням пошти. Тобто Exim буде працювати від користувача, який не має доступу до поштових скриньок користувачів, що є безсумнівним плюсом в безпеки поштової системи. Якщо ви зробите також, то вам необхідно буде перепризначити права на службові папки і файли Exim, а (/ var / log / exim, / var / spool / exim) і перепризначувати їх після кожної переустановки / оновлення Exim (оскільки після установки права перепризначувалися) .

Хочу відзначити, що не маловажним при конфігуруванні поштового сервера буде використання таких технологій, як SPF і DKIM. Оскільки такі поштовики, як yandex, gmail і інші гіганти дуже сильно не довіряють хостам, які не мають навіть тієї ж записи SPF. Наприклад, поки я не налаштував на своїх серверах DKIM, поштовик гугла позначав всі листи з моїх серверів як спам і розміщував їх у відповідній папці у користувачів.

На момент написання статті в портах доступна версія 4.80.1. Встановлюємо Exim:


Із запропонованих опцій я додатково вибрав наступні:

  • CONTENT_SCAN - включити підтримку зовнішніх сканерів (наприклад: ClamAV).
  • PGSQL - підтримка СУБД PostgreSQL.
  • READLINE - включити бібліотеку readline (3).
  • SPF - підтримка Sender Policy Framework.

Решта опцій я залишався вірним. Оскільки робота з поштовими скриньками користувачів повністю покладено на плечі Dovecot, то можна вимкнути деякі непотрібні опції, наприклад, підтримку не потрібних форматів поштових скриньок (Maildir, Mailstore).

Конфігураційний файл Exim розташований тут - / usr / local / etc / exim / configure. Файл дуже великий, але при бажанні його можна розбити на невеликі і відповідають за певний функціонал файли, як наприклад, це зробили в другій версії Dovecot (дивіться в документації Exim директиву include). У мене конфігураційний файл має наступний вигляд:


Вміст файлу / usr / local / etc / exim / extra / dynamic_pools:


Вище я говорив, що записи з таблиць (необхідних для роботи сірого списку) підчищаються скриптом, який у мене запускається раз в день. Власне, ось код цього скрипта (для його роботи необхідний встановлений модуль p5-DBD-Pg):


Ще один момент - для повноцінної заміни системного MTA sendmail, необхідно привести вміст файлу /etc/mail/mailer.conf до наступного вигляду:


І додати в файл /etc/periodic.conf наступне:

Схожі статті