Чи потрібно налаштувати поштовий сервер, перш ніж мати можливість використовувати команду linux mail
?
Чи потрібно налаштувати поштовий сервер, перш ніж мати можливість використовувати команду linux mail
?
Відповіді:
Ні, вам не потрібен поштовий сервер для надсилання пошти. Я найбільше знайомий з 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
Тож клієнт намагатиметься підключитися до egg.gnu.org на порту 25, щоб доставити цей електронний лист.
@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
файлі.
Це дійсно залежить від того, яку версію mail
ви використовуєте.
Усі версії потребують MTA для фактичної доставки пошти, але деякі версії можуть використовувати SMTP для спілкування з віддаленим MTA ("розумний хост", наприклад, поштовий сервер вашого провайдера), а деякі можуть /usr/sbin/sendmail
передавати повідомлення лише для відправки пошти через місцевий МТА.
В останньому випадку локальний MTA може бути повноцінним MTA, таким як sendmail або exim або postfix . Або це може бути простий MTA, що надсилається лише для надсилання, наприклад nullmailer або ssmtp . Або дещо більш досконалий mini-MTA, наприклад, msmtp, який також підтримує чергування пошти для подальшої доставки.
У світі вільного програмного забезпечення та відкритого коду є два основні варіанти mailx
пакету (який забезпечує mail
команду): bsd-mailx
і heirloom-mailx
.
bsd-mailx не розмовляє SMTP і може надсилати пошту лише за допомогою протоколу/usr/sbin/sendmail
hierloom-mailx може розмовляти SMTP з smarthost, а також традиційний метод " передача пошти ".
Отже, щоб відповісти на ваше запитання «Вам потрібен поштовий сервер?». Так, начебто. Вам потрібна, але, залежно від того, яку версію пошти ви встановили, можливо, вам не доведеться встановлювати та конфігурувати її у власній системі.
IMO, вам краще мати мінімальний MTA, msmtp
ніж покладатися виключно на smarthost, heirloom-mailx
оскільки вам все ще потрібно чекати пошту для подальшої доставки, коли ваше інтернет-з'єднання не працює або ваш смартхост недоступний. З локальної черзі, mail
а crond
й інші програми можуть просто послати і забути пошту. Без локальної черги вони повинні якось впоратися з умовою помилки, якщо smarthost недоступний.