Требуется ли для команды mail почтовый сервер?

Требуется ли для команды mail почтовый сервер?

Нужно ли настраивать почтовый сервер, прежде чем использовать mailкоманду Linux?

решение1

Нет, вам не нужен почтовый сервер для отправки почты. Я больше всего знаком с Sendmail, и есть 3 классификации функциональности, которые реализуют электронную почту как услугу. MDA (агенты доставки почты) — это 1, MTA (агенты передачи почты) — это 2, а 3 — это MUA (агенты пользователя почты).

Терминология становится запутанной, но вам не требуется, чтобы MTA работал все время. MTA будет вызываться каждый раз, когда MUA ( mail) захочет "отправить" почту.

При запуске mailи указании адреса для отправки почты, [email protected]почтовый клиент вызовет MTA ( /usr/bin/sendmail), который затем запросит DNS для этого хоста/домена (example.com) и выяснит, какое значение назначено для его записи MX. MX означает Mail Exchanger.

Пример

digЧтобы увидеть это, можно использовать команду:

$ dig gnu.org mx

; <<>> DiG 9.7.4-P1-RedHat-9.7.4-2.P1.fc14 <<>> gnu.org mx
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21053
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2

;; QUESTION SECTION:
;gnu.org.           IN  MX

;; ANSWER SECTION:
gnu.org.        299 IN  MX  10 eggs.gnu.org.

;; ADDITIONAL SECTION:
eggs.gnu.org.       299 IN  A   208.118.235.92
eggs.gnu.org.       299 IN  AAAA    2001:4830:134:3::10

;; Query time: 218 msec
;; SERVER: 192.168.1.8#53(192.168.1.8)
;; WHEN: Thu Oct  3 17:27:22 2013
;; MSG SIZE  rcvd: 90

Поэтому клиент попытается подключиться к eggs.gnu.org через порт 25, чтобы доставить это электронное письмо.

DNS-сервер?

@puk задал следующий дополнительный вопрос:

Находится ли этот DNS на моем локальном компьютере?

На что я ответил:

@puk - это может быть так же, как и почтовый сервер, но обычно это не так. Посмотрите в свой /etc/resolv.confфайл, а также, когда вы запустите digкоманду, вы увидите SERVER: ...строку внизу. Это DNS-сервер, обслуживающий ваш запрос.

Пример

Мой /etc/resolv.confфайл содержит следующее:

nameserver 192.168.1.8

И запросы, подобные этому, с использованием dig:

$ dig gnu.org mx

Результат внизу:

;; Query time: 259 msec
;; SERVER: 192.168.1.8#53(192.168.1.8)
;; WHEN: Thu Oct  3 17:46:13 2013
;; MSG SIZE  rcvd: 90

А для проницательного читателя, один мой вопрос, как это настраивается? Ответ - файл /etc/nsswitch.conf. А конкретно эта строка:

hosts:      files mdns4_minimal [NOTFOUND=return] dns

Это говорит, сначала используйте файлы ( /etc/hosts), а затем mdns4_minimal. Это многоадресный DNS. Это по сути кэш предыдущих поисков. Наконец, он использует , dnsкоторый является IP-адресом nameserverуказанного в /etc/resolv.confфайле.

решение2

Это действительно зависит от того, какую версию mailвы используете.

Всем версиям необходим MTA для фактической доставки почты, но некоторые версии способны использовать SMTP для взаимодействия с удаленным MTA («smarthost», например, почтовый сервер вашего интернет-провайдера), а некоторые могут только передавать сообщение для /usr/sbin/sendmailотправки почты через локальный MTA.

В последнем случае местный MTA может быть полноценным MTA, напримерОтправить письмоилиэксимилипостфикс. Или это может быть простой MTA, работающий только на отправку, напримернульмейлерилиssmtp. Или немного более сложный мини-MTA, напримерmsmtpкоторый также поддерживает постановку почты в очередь для отложенной доставки.

В мире свободного программного обеспечения и открытого исходного кода существует два основных варианта пакета mailx(который предоставляет mailкоманду): bsd-mailx, и heirloom-mailx. mailКоманда также доступна в GNU mailutils.

bsd-mailxне поддерживает SMTP и может отправлять почту только перенаправляя ее на/usr/sbin/sendmail

реликвия-mailxможет передавать SMTP на смартхост, а также использовать традиционный метод «pipe-to-sendmail». Кстати,S-образный гвоздьвероятно, лучшая производная от heirloom-mailx — она все еще активно развивается и обновляется.

GNU mailutilsсодержит несколько инструментов, связанных с почтой, как для конечных пользователей, так и для системных администраторов, включая версию mailи многое другое.

Итак, отвечая на ваш вопрос «Вам нужен почтовый сервер?». Да, в некотором роде. Он вам нужен, но, в зависимости от mailустановленной версии, вам, возможно, не придется устанавливать и настраивать его на своей системе.

На мой взгляд, вам лучше иметь хотя бы минимальный MTA, например msmtp(или полноценный, например postfixили exim), чем полагаться исключительно на смартхост с , heirloom-mailxпотому что вам все равно нужно ставить почту в очередь для последующей доставки, когда ваше интернет-соединение отключено или ваш смартхост недоступен. С локальной очередью mailи crondи другие программы могут просто отправить и забыть любую почту. Без локальной очереди им придется как-то справляться с состоянием ошибки, если смартхост недоступен.

Связанный контент