Сам базовый принцип отправки почты в Linux
Всем привет. Начал настраивать exim-ы smarthost-ы, и понял, что не понимаю сам низкоуровневый принцип, базу: как система отправляет почту? Ещё и эти команды mail/mailx.
Вот надо какой-то программе отправить письмо в вакууме... Она делает библиотечный вызов «mail()» или дёргает системную программу /usr/bin/mail? Или, может быть, первое вызывает второе?
Как команда mail определяет, через какой сервер слать почту? Ведь системная команда «mail» это «виртуальная команда»: что exim4, что pistfix усианавливают в систему свою версию команды «mail». Значит, эта команда для отправки использует настройки того пакета, который её установил; Exim и Postfix - это оба MTA. Логично...
Если мне нужно просто отсылать письма, зачем держать в системе эти жирные сложные программы? Можно ли команде mail прописать где-то в конфигурационном файле «отдавай письма на этот хост-почтовый сервер, пусть он шлёт»? Ах да, ведь нет отдельной команды mail, это всегда часть пакета-MTA... Получается, для задачи «просто отдать письмо на отправку» нужно держать на локалхосте целый MTA? Как-то странно всё это.
Везде речь идёт о работе с почтой в консоли.
Можно ли не держать в системе МТА и отправлять почту?
Перемещено Dimez из talks