Настройка sendmail в Debian

Небольшая инструкция, что делать сразу после установки Linux (в моем примере Debian) чтобы нормально работал sendmail и письма отправлялись.

Сразу стоит проверить, есть ли sendmail вообще и как оно работает, соответственно смотрим где чего лежит и пробуем отправить тестовое письмо:

$ whereis sendmail
$ which sendmail
$ echo "Test message" | sendmail mytest@mail.com

В случае, если после выполнения первых команд ничего не находит, то придется ставить sendmail, если проблема после выполнения третьей команды заключается в том, что sendmail медленно отправляет письма — значит решать уже надо другую проблемку, но обо всем по порядку.

В первом случае, если у нас нету sendmail, значит его надо установить:

$ apt-get update
$ apt-get install sendmail

Либо, если где-то что-то завалялось, либо он есть но на что-то ругается при выполнении, лучше сразу все удалить:

$ apt-get purge sendmail && apt-get update
$ apt-get install sendmail

В некоторых случаях может ругаться на отсутствие sendmail-bin:

$ apt-get install sendmail-bin

После того, как мы установили sendmail, можно попробовать отправить письмо. Если при отправке sendmail долго думает или не отправляет письмо, то далее будем править конфиги:

  • hosts
  • sendmail.mc
  • Так же возможно стоит обновить hostname, если сразу он был указан не корректно

Первым делом давайте обновим наш хостнейм:

$ hostnamectl set-hostname myhostname.com

Либо хостнейм можно обновить временно (до перезагрузки сервера):

$ hostname myhostname.com

 

Далее, давайте подправим файлик hosts и приведем его к нормальному виду:

$ curl ifconfig.io

 

Смотрим предварительно наш IP если у вас его нет  на виду и копируем в буфер, далее открываем и редактируем файл hosts

$ nano /etc/hosts

В моем случае файл hosts после исправлений имел следующий вид:

127.0.0.1 localhost
192.168.1.15 mydomain.com mydomain

192.168.1.15 — тут должен быть ваш IP адрес, который вы получили при выполнении команды курла, далее mydomain.com — ваш домен.

Смотрите так же   Настройка git сервера

 

На следующем этапе идем слегка изменить файлик sendmail.mc:

$ nano /etc/mail/sendmail.mc

Листаем в самый низ файла и далее правим параметр MASQUERADE_AS:

MASQUERADE_AS(`mydomain.com')dnl

 

Сохраняем и закрываем, перезапускаем sendmail:

$ service sendmail restart

Отправляем тестовое письмо и смотрим вывод:

$ (echo "Subject: Test msg"; echo "This is test message";) | sendmail -v -f "admin@mydomain.com" your@email.com

Письмо должно дойти в ваш ящик (возможно, упадет в спам).

 

Может быть интересно:

Добавьте комментарий