Lệnh mail có yêu cầu máy chủ mail không?


16

Có ai cần phải thiết lập một máy chủ thư trước khi có thể sử dụng maillệnh linux không?



@slm không thực sự giống như câu hỏi đó gợi ý rằng người ta cần một máy chủ SMTP để chạy thư, nhưng tôi đang hỏi liệu điều đó có thực sự cần thiết hay không
puk

1
Vâng, đó là một bản sao có thể xảy ra, tôi đã trả lời bạn b / c rằng Q có hơi quá cụ thể. Vẫn cảm thấy như là một bản sao nhưng dù sao tôi cũng đã trả lời bạn 8-)
slm

Câu trả lời:


14

Không, bạn không yêu cầu một máy chủ thư để gửi thư. Tôi quen thuộc nhất với Sendmail và có 3 phân loại chức năng đáp ứng email dưới dạng dịch vụ. MDA (Đại lý chuyển phát thư) là 1 và MTA (Đại lý chuyển thư) là 2 và 3 là MUA (Đại lý người dùng thư).

Thuật ngữ gây nhầm lẫn nhưng bạn không yêu cầu MTA phải chạy mọi lúc. MTA sẽ được gọi mỗi lần MUA ( mail) muốn "gửi" thư.

Khi bạn chạy mailvà bạn chỉ định một địa chỉ để gửi thư tới sam@example.com. Ứng dụng thư khách sẽ triệu tập MTA ( /usr/bin/sendmail) sau đó sẽ truy vấn DNS cho máy chủ / tên miền đó (example.com) và tìm ra giá trị nào được chỉ định cho bản ghi MX của nó. MX là viết tắt của Mail Exchanger.

Thí dụ

Bạn có thể sử dụng diglệnh để xem điều này:

$ 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

Vì vậy, khách hàng sẽ cố gắng kết nối với egg.gnu.org trên cổng 25 để gửi email này.

Máy chủ DNS?

@puk hỏi câu hỏi tiếp theo sau:

Đây có phải là DNS trên máy cục bộ của tôi không?

Tôi đã trả lời:

@puk - nó có thể giống như cách mà máy chủ thư có thể, nhưng thông thường thì không. Nhìn vào /etc/resolv.conftệp của bạn và cả khi bạn chạy diglệnh, bạn sẽ nhận thấy SERVER: ...dòng ở phía dưới. Đó là máy chủ DNS phục vụ yêu cầu của bạn.

Thí dụ

/etc/resolv.confTập tin của tôi chứa như sau:

nameserver 192.168.1.8

Và các truy vấn như cái này, sử dụng dig:

$ dig gnu.org mx

Kết quả trong này ở phía dưới:

;; 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

Và đối với người đọc sắc sảo, một câu hỏi của tôi, cái này được cấu hình như thế nào? Câu trả lời là /etc/nsswitch.conftập tin. Cụ thể dòng này:

hosts:      files mdns4_minimal [NOTFOUND=return] dns

Điều đó nói rằng, sử dụng các tập tin đầu tiên ( /etc/hosts), tiếp theo là mdns4_minimal. Đó là một DNS đa hướng. Về cơ bản, nó là một bộ đệm của các tra cứu trước đó. Cuối cùng, nó sử dụng dnsđịa chỉ IP của tệp nameserverđược chỉ định trong /etc/resolv.conftệp.


Đây có phải là DNS trên máy cục bộ của tôi không?
puk

@puk - xem cập nhật.
slm

@puk - Tôi đã thêm nhiều hơn ....
slm

7

Nó thực sự phụ thuộc vào phiên bản của mailbạn đang sử dụng.

Tất cả các phiên bản đều cần MTA để gửi thư thực sự, nhưng một số phiên bản có khả năng sử dụng SMTP để nói chuyện với MTA từ xa ("smarthost", ví dụ: máy chủ thư của ISP) và một số chỉ có thể chuyển thư /usr/sbin/sendmailđể gửi thư qua một MTA địa phương.

Trong trường hợp sau, MTA cục bộ có thể là một MTA chính thức như sendmail hoặc exim hoặc postfix . Hoặc nó có thể là một MTA chỉ gửi đơn giản như nullmailer hoặc ssmtp . Hoặc một MTA mini tinh vi hơn một chút như msmtp cũng hỗ trợ xếp hàng thư để gửi sau.

Trong thế giới Phần mềm Tự do & Nguồn mở, có hai biến thể chính của mailxgói (cung cấp maillệnh): bsd-mailxheirloom-mailx.

bsd-mailx không nói được SMTP và chỉ có thể gửi thư bằng cách chuyển nó tới/usr/sbin/sendmail

hierloom-mailx có thể nói SMTP với smarthost cũng như phương thức 'pipe-to-sendmail' truyền thống.

Vì vậy, để trả lời câu hỏi của bạn "Bạn có cần một máy chủ thư không?". Ừ kiểu vậy, chắc vậy. Bạn cần một cái, nhưng tùy thuộc vào phiên bản thư bạn đã cài đặt, bạn có thể không phải cài đặt và định cấu hình nó trên hệ thống của riêng bạn.

IMO, bạn tốt hơn với một MTA tối thiểu như msmtpchỉ dựa vào smarthost heirloom-mailxvì bạn vẫn cần xếp hàng thư để gửi sau khi kết nối internet của bạn không hoạt động hoặc smarthost của bạn không thể truy cập được. Với một hàng đợi địa phương, mailcrondcác chương trình khác chỉ có thể gửi-và-quên bất kỳ thư. Không có hàng đợi cục bộ, họ phải xử lý bằng cách nào đó với tình trạng lỗi nếu smarthost không khả dụng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.