Новости
Семь Чёрных пятниц на неделе — и все в Serverspace!
Serverspace Black Friday
АМ
Александр Мельников
26 сентября 2019
Обновлено 4 июля 2022

Ubuntu. Настройка Exim4

Ubuntu

Отличительная особенность почтовых служб в гибкости их настройки. Существуют конфигурации, когда нет необходимости держать целый почтовый сервер, а достаточно лишь пересылать письма. Рассмотрим как это сделать в Ubuntu.

На помощь приходит Exim4. Exim - Experimental Internet Mailer - агент пересылки сообщений, распространяется под лицензией GPL.

Приступаем.

Виртуальный VPS сервер

Обновляем данные о состоянии репозиториев, затем устанавливаем exim4:

sudo apt-get-update
sudo apt-get install exim4

Важно! Если необходимо использование ACL (Access Control List) и прочие дополнительные функции, то следует установить exim4-daemon-heavy.

Теперь настроим exim4. Для этого выполним команду:

sudo dpkg-reconfigure exim4-config

Программа предлагает сделать выбор. Рассмотрим их назначения.

internet site; mail is sent and received directly using SMTP (интернет-сайт; приём и отправка почты напрямую, используя SMTP) - данный вариант подходит для Интернет сайтов, при этом полном доступе к сети Интернет. Служба принимает входящую почту на локальные домены и доставляет пользователям. Отправка почты происходит непосредственно на домены получателя.

mail sent by smarthost; received via SMTP or fetchmail (отправка почты через smarthost; приём по SMTP или через fetchmail) - выбранный нами вариант, применяется для ограниченного доступа к сети Интернет. Входящая почта будет доставлена пользователям, а исходящая сначала доставляется на Smart host и только потом до целевого ящика.

mail sent by smarthost; no local mail (отправка почты через smarthost; локальная почта отсутствует )  - Локальные домены не используются. Все исходящие письма отправляются сразу на Smart host.

local delivery only; not on a network (доставка только локальной почты; доступа к сети нет) - этот вариант следует выбирать, когда у сервера нет подключения к глобальной сети. Доставка почты происходит только между локальными доменами.

Курсорными клавишами выбираем “Отправка почты через smarthost; прием по SMTP или через fetchmail”, в английской локали это будет как “mail sent by smarthost; received via SMTP or fetchmail”. Выбор подтверждаем нажатием по клавише Enter.

Следующим шагом следует указать ваше доменное имя или имя узла.

Конфигурация почтового сервера Exim4

По окончании нажимаем Enter.

Теперь укажем IP-адреса на которых Exim должен слушать соединения. IP-адреса следует разделять символом “;” - точка с запятой.

Нажимаем Enter.

В обновленном окне указываем локальные домены и почтовые ящики. Поле следует оставить пустым, если у вас нет этого.

Конфигурация почтового сервера Exim4

Нажимаем Enter.

Следующим шагом указываем список доменов для которых Exim будет пересылать почту выполняя роль Smarthost’а. Если сервер не должен быть Smarthost, то поле нужно оставить пустым.

Конфигурация почтового сервера Exim4

Нажимаем Enter.

Теперь указываем адреса smtp-сервера и через двойное двоеточие (“::”) smtp-порт.

Пример популярных сервисов:

smtp.yandex.ru::587

smtp.gmail.com::587

mail.example.com::587

Заполнив поле, нажимаем Enter.

Следующим шагом будет вопрос о необходимости скрывать локальные имена сервера. Если нужно - выбираем “Да” (“Yes”).

Настраиваем запросы к DNS. Exim выполняет обращения к DNS при запуске службы, при получении и отправке сообщений. Если соединение к сети ничем не ограничено, то в этом пункте следует выбрать “No” (“Нет”). В противном случае, если используется “Вызов по требованию” (“Deal-on-demand”), то следует выбрать ответ “Да”.

Конфигурация почтового сервера

Нажимаем Enter.

Выбираем место хранения почты. Либо это /var/mail, либо в домашнем каталоге пользователя.

Настройка Exim4 | Serverspace

Нажимаем Enter.

Для удобства конфигурирования, можно разделить большой файл конфигурации на несколько мелких.

Настройка Exim4 | Serverspace

Делаем выбор, нажав Enter.

На этом приложение завершит свою работу.

Настроим данные о почтовом ящике с которого будут уходить письма. Для этого откроем файл /etc/exim4/passwd.client в любом текстовом редакторе:

sudo nano /etc/exim4/passwd.client

В этот файл надо вписать строку с указанием сервера, логина и пароля, разделенные двоеточием.

Например:

Для GMail:

smtp.google.com:<a href="mailto:username@gmail.com">username@gmail.com</a>:user_password

Yandex:

smtp.yandex.ru:username@yandex.ru:user_password

Для собственного SMTP-сервера:

mail.example.com:username@example.com:user_password

Результат будет примерно таким.

Запрос на разрешения действия

Сохраняем.

Так как в самом начале мы не выбирали разделение большого файла на мелкие -  отредактируем файл exim4.conf.template:

sudo nano /etc/exim4/exim4.conf.template

Находим в файле строку:

.ifdef DCconfig_smarthost DCconfig_satellite

После нее вставляем параметры:

send_via_gmail:

driver = manualroute

domains = ! +local_domains

transport = gmail_smtp

route_list = * smtp.gmail.com

Далее ищем строку:

transport/30_exim4-config_remote_smtp_smarthost

После нее вставляем строки:

gmail_smtp:

driver = smtp

port = 587

hosts_require_auth = $host_address

hosts_require_tls = $host_address

Затем ищем строку:

begin authenticators

И указываем эти параметры:

gmail_login:

driver = plaintext

public_name = login

client_send = : user@gmail.com : password

Замените параметры поля “client_send” на свои.

Удаляем из файла следующие строки (находится почти в конце файла):
login:

 driver = plaintext

 public_name = LOGIN

.ifndef AUTH_CLIENT_ALLOW_NOTLS_PASSWORDS

 # Return empty string if not non-TLS AND looking up $host in passwd-file

 # yields a non-empty string; fail otherwise.

 client_send = "<; ${if and{

                         {!eq{$tls_out_cipher}{}}

                         {!eq{PASSWDLINE}{}}

                        }

                     {}fail}

                ; ${extract{1}{::}{PASSWDLINE}}

                ; ${sg{PASSWDLINE}{N([^:]+:)(.*)N}{$2}}"

.endif

Важно! Мы выполняли настройку для серверов gmail. Для сторонних почтовых адресов надо указывать соответствующие параметры.

Сохраняем внесенные изменения.

Перезапускаем службу:

sudo /etc/init.d/exim4 restart

Отправим письмо самому себе с целью проверки:

echo «Testing our Exim» | mail -s Test <a href="mailto:example@example.com">example@example.com</a>

Гугл пришлет оповещение:

Настройка Exim4 | Serverspace

Разрешите это действие в настройках почтового сервиса.

Оценка:
3 из 5
Аverage rating : 3
Оценок: 2
050000 г. Алматы пр. Сейфуллина, д. 502
+7 (777) 555-36-66
ООО «ИТГЛОБАЛКОМ ЛАБС»