Настройка EXIM4 (аналог Postfix) для отправки почтовых сообщений в Linux

mrvtn

Постоянный участник
ДРУЗЬЯ ФОРУМА

mrvtn

Постоянный участник
ДРУЗЬЯ ФОРУМА
Регистрация
2 Июн 2018
Сообщения
116
Реакции
58
Репутация
0
Что это такое?

Exim4 это агент пересылки почтовых сообщений, фактически является простым SMTP-сервером. В нашей статье мы рассмотрим пересылку через SMTP-сервера таких крупных компаний как Google и Yandex. Стоит отметить, что в нашей инструкции предполагается только отправка сообщений, например это удобно для отчетности о работе приложений или событиях.

Установка и настройка

Прежде всего обновите локальный список пакетов с помощью вашего пакетного менеджера, например на Ubuntu и Debian это можно сделать с помощью apt:

apt-get update
Для установки выполните команду:

apt-get install exim4
Примечание: если вам необходимо использовать ACL и другие расширенные функции, то установите exim4-daemon-heavy:

apt-get install exim4-daemon-heavy
Чтобы перейти к настройке, выполните команду:

dpkg-reconfigure exim4-config
Нажмите Ok для начала настройки.





На следующем шаге выберите “mail sent by smarthost; received via SMTP or fetchmail” и нажмите Ok.


Примечание:


  • internet site; mail is sent and received directly using SMTP - этот вариант подходит для автономной системы с полным доступом к Интернету. Демон Exim принимает сообщения на локальные домены и доставляет их. Исходящая почта будет доставлена непосредственно на почтовые серверы домена получателя.
  • mail sent by smarthost; received via SMTP or fetchmail - этот вариант подходит для автономной системы с ограниченным доступом к Интернету. Демон Exim принимает сообщения на локальные домены и доставляет их. Исходящая почта будет доставлена на Smart host, а уже потом на почтовые серверы домена получателя.
  • mail sent by smarthost; no local mail - этот вариант подходит для клиентской системы, все электронные письма отправляются на Smart host без каких-либо локальных доменов.
  • local delivery only; not on a network - этот вариант подходит для серверов не подключенных к сети Интернет. Сообщения принимаются и доставляются только для локальных доменов, т.е. отправка на удаленные (внешние) домены не поддерживается.




Здесь введите имя хоста или ваше доменное имя.





Нажмите Ok.





Введите адрес локальной петли, если exim будет использоваться только локальными сервисами. Оставьте поле пустым, для прослушивания всех интерфейсов, или перечислите нужные через символ “;”.





Следующее поле оставьте пустым при отсутствии локальных доменов.


Примечание: при наличии локальных доменов их можно указать, по умолчанию все локальные домены будут обрабатываться одинаково.





На следующем шаге укажите список доменов, для которых Exim будет ретранслировать сообщения, выполняя роль Smarthost`а. Если сервер не должен быть smarthost для другого хоста, оставьте этот список пустым.





Здесь укажите адрес используемого smtp-сервера:

smtp.yandex.ru::587
smtp.gmail.com::587
mail.example.com::587



На следующий вопрос ответьте No, если необходимо скрыть локальное имя сервера.





Нажмите Ok.





В обычном режиме работы Exim выполняет поиск DNS при запуске, а также при получении или доставке сообщений. Этот параметр следует выбрать, если в системе используется Dial-on-Demand. Если сервер всегда имеет доступ к Интернету, этот параметр должен быть отключен.





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





На вопрос о разделении файла конфигурации на маленькие - ответьте Yes. Так будет более удобно конфигурировать exim4 далее.





Далее необходимо добавить данные о почтовом ящике, с которого будет происходить отправка почты. Для этого, с помощью текстового редактора, например vi, откройте на редактирование следующий файл:

vi /etc/exim4/passwd.client
Добавьте в него строку следующего вида, указав ваш логин и пароль.


Для Gmail

smtp.google.com:[email protected]:password
Для Yandex:

smtp.yandex.ru:[email protected]:password
Для вашего SMTP-сервера:

mail.example.com:[email protected]:password
Содержимое файла будет выглядеть следующим образом:

# password file used when the local exim is authenticating to a remote
# host as a client.
#
# see exim4_passwd_client(5) for more documentation
#
# Example:
### target.mail.server.example:login:password
smtp.google.com:[email protected]:12345




Следующие настройки будут выполнены на примере почтового сервиса gmail.



Далее внесем изменения в файл /etc/exim4/exim4.conf.template. Откройте его на редактирование с помощью текстового редактора:


vi /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 = : [email protected] : password

Также из файла необходимо удалить следующий блок строк, чтобы не было ошибок авторизации:



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


Сохраните изменения и закройте файл.


Чтобы изменения вступили в силу, перезагрузите почтовый сервис:

sudo /etc/init.d/exim4 restart
Чтобы проверить корректность настроек, отправляем тестовое письмо:

echo «Testing our Exim» | mail -s Test [email protected]
На ваш почтовый адрес, через который вы отправляете письма, может прийти письмо о небезопасном приложении, для корректной работы необходимо включить доступ для ненадежных приложений.


 
Сверху