mail 명령에 메일 서버가 필요합니까?


16

linux mail명령 을 사용하기 전에 메일 서버를 설정해야합니까 ?



@slm 정말 하나가 메일을 실행하는 SMTP 서버를 필요로하는 그 질문에 힌트와 동일하지만, 나는 그것이 절대적으로 필요 여부를 묻는 아니에요
PUK

1
네, 중복 가능성이 있습니다. Q가 그것을 너무 구체적으로 사용한다고 b / c 답변했습니다. 여전히 멍청한 느낌이지만 어쨌든 8-)
slm

답변:


14

아니오 메일을 발송하기 위해 메일 서버가 필요하지 않습니다. Sendmail에 대해 가장 잘 알고 있으며 전자 메일을 서비스로 수행하는 3 가지 기능 분류가 있습니다. MDA (Mail Delivery Agents)는 1이고 MTA (Mail Transfer Agents)는 2이고 3은 MUA (Mail User Agents)입니다.

용어가 혼동 되기는하지만 항상 MTA를 실행할 필요는 없습니다. MUA ( mail)가 메일을 "보내기"원할 때마다 MTA가 호출됩니다 .

실행 mail하고 메일을 보낼 주소를 지정하면 sam@example.com. 메일 클라이언트는 MTA ( /usr/bin/sendmail)를 소환하여 해당 호스트 / 도메인 (example.com)에 대한 DNS를 쿼리하고 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

따라서 클라이언트는 포트 25에서 eggs.gnu.org에 연결하여이 이메일을 전달하려고 시도합니다.

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


이 DNS가 로컬 컴퓨터에 있습니까?
puk

@puk-업데이트를 참조하십시오.
slm

@puk-나는 더 추가했습니다 ....
slm

7

실제로 mail사용 중인 버전에 따라 다릅니다 .

모든 버전은 실제로 메일을 전달하기 위해 MTA가 필요하지만 일부 버전은 SMTP를 사용하여 원격 MTA (예 : ISP의 메일 서버와 같은 "스마트 호스트")와 통신 할 수 있으며 일부는 /usr/sbin/sendmail메일을 통해 메일을 보내도록 파이프 할 수 있습니다. 지역 MTA.

후자의 경우 로컬 MTA는 sendmail 또는 exim 또는 postfix 와 같은 본격적인 MTA 일 수 있습니다 . 또는 nullmailer 또는 ssmtp 와 같은 간단한 보내기 전용 MTA 일 수도 있습니다 . 또는 msmtp 와 같이 조금 더 정교한 미니 MTA 도 나중에 배달을 위해 큐잉 메일을 지원합니다.

자유 소프트웨어 및 오픈 소스 세계에서는, 거기에 두 가지 변종입니다 mailx합니다 (제공 패키지 mail명령) : bsd-mailxheirloom-mailx.

bsd-mailx 는 SMTP를 사용하지 않으며 다음 주소로 메일을 보내야만 메일을 보낼 수 있습니다/usr/sbin/sendmail

hierloom-mailx 는 SMTP를 스마트 호스트뿐만 아니라 기존의 '파이프 투 센드 메일'방법으로도 말할 수 있습니다.

따라서 "메일 서버가 필요하십니까?"라는 질문에 대답하십시오. 예, 일종의 하나의 메일이 필요하지만 설치 한 메일 버전에 따라 자신의 시스템에 메일을 설치 및 구성하지 않아도됩니다.

IMO는 인터넷 연결이 끊어 지거나 스마트 호스트에 연결할 수없는 경우 나중에 배달하기 위해 메일을 대기해야하기 때문에 msmtp스마트 호스트에만 의존하는 것 보다 최소한의 MTA를 사용하는 것이 좋습니다 heirloom-mailx. 로컬 큐와 함께, mail그리고 crond다른 프로그램은 메일을 잊지 보내 앤 수 있습니다. 로컬 대기열이 없으면 스마트 호스트를 사용할 수없는 경우 어떻게 든 오류 상태를 처리해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.