Настройка 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 — ваш домен.
На следующем этапе идем слегка изменить файлик 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
Письмо должно дойти в ваш ящик (возможно, упадет в спам).
Может быть интересно: