Нужно ли настраивать почтовый сервер, чтобы использовать команду linux mail
?
mail-command
PUK
источник
источник
Ответы:
Нет, вам не требуется почтовый сервер для отправки почты. Я наиболее знаком с Sendmail, и есть 3 классификации функций, которые выполняют электронную почту как услугу. MDA (Агенты доставки почты) - 1, а MTA (Агенты передачи почты) - 2, а 3 - MUA (Агенты пользователей почты).
Терминология сбивает с толку, но вам не требуется, чтобы MTA работал постоянно. MTA будет вызываться каждый раз, когда MUA (
mail
) хочет «отправить» почту.При запуске
mail
и указать адрес для отправки почты,sam@example.com
. Почтовый клиент вызовет MTA (/usr/bin/sendmail
), который затем запросит DNS для этого хоста / домена (example.com) и выяснит, какое значение предназначено для его записи MX. MX означает Почтовый обменник.пример
Вы можете использовать
dig
команду, чтобы увидеть это:Таким образом, клиент попытается подключиться к eggs.gnu.org через порт 25 для доставки этого письма.
DNS сервер?
@puk задал следующий вопрос:
На что я ответил:
@puk - это может быть так же, как почтовый сервер, но обычно это не так. Загляните в свой
/etc/resolv.conf
файл, а также при запускеdig
команды вы увидитеSERVER: ...
строку внизу. Это DNS-сервер, обслуживающий ваш запрос.пример
Мой
/etc/resolv.conf
файл содержит следующее:И такие запросы, как этот, используя
dig
:Результат в этом внизу:
И для проницательного читателя, один мой вопрос, как это настроено? Ответ
/etc/nsswitch.conf
файл. Конкретно эта строка:Тем не менее, сначала используйте файлы (
/etc/hosts
), а затемmdns4_minimal
. Это многоадресный DNS. Это в основном кеш предыдущих просмотров. Наконец, он используетdns
IP-адрес,nameserver
указанный в/etc/resolv.conf
файле.источник
Это действительно зависит от того, какую версию
mail
вы используете.Всем версиям требуется MTA для фактической доставки почты, но некоторые версии способны использовать SMTP для связи с удаленным MTA («умным хостом», например, почтовым сервером вашего провайдера), а некоторые могут только передавать сообщение
/usr/sbin/sendmail
для отправки почты через местный MTA.В последнем случае местный MTA может быть полноценным MTA , как Sendmail или Exim или постфикса . Или это может быть простой MTA только для отправки, такой как nullmailer или ssmtp . Или немного более сложный мини-MTA, такой как msmtp, который также поддерживает организацию очереди почты для последующей доставки.
В мире свободного программного обеспечения и открытого исходного кода есть два основных варианта
mailx
пакета (который предоставляетmail
команду):bsd-mailx
иheirloom-mailx
.bsd-mailx не говорит по SMTP и может отправлять почту только по трубопроводу
/usr/sbin/sendmail
hierloom-mailx может передавать SMTP на smarthost, а также традиционный метод pipe-to-sendmail.
Итак, чтобы ответить на ваш вопрос «Вам нужен почтовый сервер?». Да вроде. Он вам нужен, но в зависимости от того, какую версию почты вы установили, вам, возможно, не придется устанавливать и настраивать ее в собственной системе.
IMO, вам лучше иметь минимальный MTA,
msmtp
чем полагаться только на smarthost,heirloom-mailx
потому что вам все еще нужно ставить почту в очередь для последующей доставки, когда ваше интернет-соединение не работает или ваш smarthost недоступен. С локальной очереди,mail
аcrond
и другие программы могут просто послать и забыть почту. Без локальной очереди им приходится как-то иметь дело с условием ошибки, если смарт-хост недоступен.источник