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

16

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

PUK
источник
@slm не совсем то, что этот вопрос намекает на то, что для запуска почты нужен SMTP-сервер, но я спрашиваю, действительно ли это необходимо
puk
1
Да, это возможный дубликат, я вам ответил, что Q считает это слишком конкретным. Все еще ощущается как дурак, но я все равно ответил тебе 8-)
slm

Ответы:

14

Нет, вам не требуется почтовый сервер для отправки почты. Я наиболее знаком с 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команду, чтобы увидеть это:

$ 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. Это в основном кеш предыдущих просмотров. Наконец, он использует dnsIP-адрес, nameserverуказанный в /etc/resolv.confфайле.

SLM
источник
Это DNS на моей локальной машине?
PUK
@puk - смотрите обновления.
slm
@puk - я добавил еще ....
slm
7

Это действительно зависит от того, какую версию 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и другие программы могут просто послать и забыть почту. Без локальной очереди им приходится как-то иметь дело с условием ошибки, если смарт-хост недоступен.

саз
источник