Существует множество случаев, когда может потребоваться только отправка почты на ваш технический email. Вот отдельные примеры:
Практически любой MTA способен работать и в этих условиях. К сожалению, может быть очень сложно правильно настроить полноценный MTA для работы только с исходящей почтой. Такие программы, как sendmail, exim и postfix слишком избыточны для этих целей. К тому же, если вы используете обычные средства доступа в интернет, условий для запуска "почтового сервера" может быть недостаточно.
Я в своей практике предпочитаю использовать Postfix. Для решения нашей задачи отправки системных уведомлений (или результат работы скриптов существует 2 варианта.
Первый вариант, когда у вас есть свой почтовый сервер (и доступ к его администрированию) или ваш провайдер предоставил почтовый сервер для пересылки почты, тогда вам сюда Postfix в роли cистема-спутник - пересылка системных сообщений на smart-host (релей для исходящей почты).
Второй вариант, когда ничего нет, а есть только сервер с реальным IP, желание и бесплатный почтовый ящик (gmail, яндекс почта и так далее). В зависимости от почтового провайдера - у вас будут свои пляски с бубном. В примере ниже, я использовал бесплатный почтовый email на виртуальном тарифе (обычный Shared хостинг) TimeWeb.
Инсталлируем Postfix в режиме Local Only. Проверяем, чтобы запускался только на localhost иначе он превратиться в открытый почтовый релей (open mail relay), что очень порадует спамеров.
apt install postfix mailutils lsof -i:25 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME master 7180 root 13u IPv4 48116 0t0 TCP localhost:smtp (LISTEN) master 7180 root 14u IPv6 48117 0t0 TCP localhost:smtp (LISTEN)
Ставим Postfix и у нас появляется команда newaliases, которую нужно использовать после любых изменений в файле /etc/aliases. Указываем в файле /etc/aliases на какую почту будем пересылать сообщения от root, например так root: vasya@example.com, подробный синтаксис в описании команды newaliases. Запускаем команду newaliases и пробуем отослать тестовое письмо:
newaliases echo "hello from `hostname` `uptime` `who -q`" | mail -s "`hostname`" root && tail -F /var/log/mail.log
Всё, работает! Удачи. Будут вопросы пишите в контакты.
Настройку sSMTP и подобных приложений для отправки почты с сервера я использую в только в случае, когда экономия превысила все возможные разумные пределы!
Да, sSMTP можно и нужно настраивать просто на пересылку, без указания почтового логина и пароля. Но тогда мне проще настроить Postfix по инструкции выше.
sSMTP Debian, Ubuntu:
apt install ssmtp
sSMTP FreeBSD:
Простейшим способом удовлетворить имеющиеся потребности может быть установка порта mail/ssmtp. Выполните под root следующие команды:
cd /usr/ports/mail/ssmtp make install replace clean
После установки потребуется настроить mail/ssmtp с помощью файла из четырех строк, расположенного в /usr/local/etc/ssmtp/ssmtp.conf:
root=yourrealemail@example.com mailhub=mail.example.com rewriteDomain=example.com hostname=_HOSTNAME_
Убедитесь, что используете существующий почтовый адрес для root. Введите сервер вашего провайдера для пересылки исходящей почты вместо mail.example.com (некоторые провайдеры называют его сервером исходящей почты
или SMTP сервером
).
Установка ssmtp таким способом позволит правильно работать любым программам на вашем компьютере, которым требуется отправка почты, но не нарушит политику вашего провайдера и не позволит вашему компьютеру быть использованным спамерами.