일반적인 Linux/GNU 배포판에는 어떤 이메일 기능이 포함되어 있습니까? [폐쇄]

일반적인 Linux/GNU 배포판에는 어떤 이메일 기능이 포함되어 있습니까? [폐쇄]

내 로컬 Linux 호스트의 시스템 데몬이 이메일을 보내는 방법이 궁금합니다.

  • 이미 내장된 이메일 프레임워크 유형이 있나요?
  • MTA나 MUA가 필요합니까?
  • "센드메일"은 어떤 역할을 하나요? 요구사항인가요?
  • 다른 호스트를 통해 전송하도록 서버를 어떻게 구성합니까?
  • "mail" 명령은 이 상황에 어떻게 적합합니까?
  • /home/user/maildir은 이 그림에 어떻게 들어맞나요?

답변1

꽤 광범위한 질문을 하셨습니다. 모든 질문을 자세히 설명하려면 많은 페이지가 필요할 것입니다. 간단히 말해서:

Linux/Unix 시스템에서 이메일을 보내려면 여러 프로그램이 필요합니다. 각 캐릭터에는 선택할 수 있는 것이 많습니다:

  • 메일 사용자 에이전트(MUA). 이것이 이메일을 읽고 작성하는 방법입니다. 시스템의 사용자 인터페이스입니다. 예: mutt, Thunderbird, Evolution, kmail, ...
  • 메일 배달 에이전트(MDA). 이는 로컬 사서함에 메일을 넣는 것을 처리합니다. 필터 등도 취급할 수 있습니다. 예: procmail, maildrop.
  • 메일 전송 에이전트(MTA). 일반적으로 SMTP를 사용하여 인터넷을 통해 시스템 간 이메일 전송 및 수신을 처리합니다. 예로는 exim, postfix, qmail, sendmail 등이 있습니다.

일반적으로 MTA와 MDA가 결합됩니다. 예를 들어 exim은 두 가지를 모두 수행합니다(단, 독립형 MDA로도 실행할 수 있음). 일부 MUA(예: Thunderbird)는 세 가지 경우를 모두 처리할 수 있습니다(MTA 기능은 매우 제한적이지만).

이제 이메일을 보내기 위한 두 가지 인터페이스가 있습니다.

  1. localhost:25에 대한 SMTP 연결을 설정하고 SMTP를 사용하여 메시지를 보냅니다.
  2. 전화를 걸어 /usr/sbin/sendmail메시지를 보내세요. (또는 파이프를 통해 SMTP를 사용하고 많은 매개변수가 있습니다. 관심이 있으면 맨페이지를 확인하세요.)

(2) 매우 일반적입니다. 이는 sendmail MTA의 기본 인터페이스이지만 거의 모든 다른 Unix MTA는 이 인터페이스를 에뮬레이트합니다. 이는 Unix 시스템에서 메일을 보내는 표준 방법과 거의 비슷합니다.

따라서 실행하고 메시지를 입력하면 해당 메시지를 시스템 MTA에 전달하기 위한 호출이 이루어집니다. 그런 다음 시스템 MTA는 로컬 구성을 사용하여 메시지 처리 방법을 결정합니다.mail [email protected]mail/usr/sbin/sendmail

  • 메일은 로컬 메일 이름/호스트 이름으로 전송되므로 로컬로 배달됩니다(MDA로 배달됨).
  • 원격 SMTP 전송을 위해 MX 레코드에 DNS 요청
  • 이 도메인/이메일 주소 등에 대해 구성된 사용자 정의 작업입니다. MTA는 일반적으로매우유연한.

/var/spool/mail/user적응 하는 방법 ~/Maildir? 이는 정확히 MDA가 보내는 메시지를 배치하도록 구성(또는 기본값)되는 위치입니다.

따라서 RAID 모니터링의 경우아마도MTA를 설치하고 싶습니다. Gmail 계정이나 다른 계정으로 이메일을 보내려면 MDA가 필요하지 않습니다.

가장 간단한 설정은 발신 SMTP 릴레이(스마트 호스트라고도 함, 대부분 제공)를 제공하는 ISP가 있는 경우입니다. 그런 다음 모든 메일을 그곳으로 보내도록 MTA를 설정하기만 하면 됩니다. 우분투는이메일 설정 문서Exim이 이미 설치되어 있어야 한다고 언급되어 있지만 시스템에서 메일을 받으려면 Exim을 구성해야 합니다(매우 쉽습니다). 여러분도 구경해 보세요”경량 발신 SMTP 서버"Unix.SE에서.

답변2

이미 내장된 이메일 프레임워크 유형이 있나요?

예. 대부분의 배포판에는 여러 가지 옵션이 있습니다. 대부분의 대규모 배포판(예: Debian, Ubuntu, Fedora, CentOS 등)에서 Postfix 및 Sendmail과 같은 MTA를 사용할 수 있습니다. 그것은 정말로 당신의 선호도에 달려 있습니다.

MTA나 MUA가 필요합니까?

의지하다. 대부분의 Linux 배포판에는 일반적으로 시스템에서 실행되는 다양한 cron 및 데몬에서 시스템 생성 이메일을 전달할 수 있는 MTA가 함께 제공됩니다. 이러한 경우 MTA는 일반적으로 시스템의 루트 또는 관리자 유형 계정에만 로컬로 이메일을 전달하도록 구성됩니다.

MUA에 관한 한 몇 가지 옵션이 있습니다. 메일 및 mutt와 같은 터미널 기반 응용 프로그램부터 Evolution 및 Thunderbird까지 다양합니다.

다른 호스트를 통해 전송하도록 서버를 어떻게 구성합니까? 로컬 사용자 간의 메일에는 관심이 없지만(지금까지 내 계정과 루트 2개만) 어떻게 작동하는지 궁금합니다.

Sendmail과 같은 MTA를 사용하는 경우 일반적으로 상자를 스마트 전달 호스트로 구성하여 루트 또는 관리자 계정으로 로컬로 배달할 수 없는 메일을 지정된 일부 호스트로 맹목적으로 전달할 수 있습니다. 호스트로부터 메일을 배달하기 위해.

"mail" 명령은 이 상황에 어떻게 적합합니까?

이것은 단지 MUA입니다.

/home/user/maildir은 이 그림에 어떻게 들어맞나요?

일반적으로 호스트에 로컬이고 메일을 받은 계정만 이 디렉터리에 이메일을 저장합니다. 여기에 표시된 메시지는 일반적으로 로컬로 구성된 MTA에 의해 전달됩니다.

이것은 유닉스에서 상속받은 것입니까?

이 질문에 어떻게 대답해야 할지 모르겠습니다.

PC와 Unix의 명확한 차이점에 대해 묻는다면 전자에는 일반적으로 MTA/MUA 유형 응용 프로그램이 포함되어 있지 않으며 후자에는 일반적으로 포함되어 있습니다.

그래서 저는 다음과 같이 말하고 싶습니다.

이는 Unix 시스템과 PC의 애플리케이션 유형과 더 관련이 있습니다. 일반적으로 대부분의 Unix 시스템은 서버에서 실행되는 다양한 데몬과 서비스로부터 메일을 전달해야 하는 서버로 사용됩니다. 이러한 서비스에는 일반적으로 연결된 사용자 계정이 없으므로 MTA가 즉시 시스템 전자 메일을 전 세계로 보내야 합니다.

하지만 제 생각에는 PC에 이러한 유형의 기능이 포함되어 있지 않은 것이 이례적이라고 생각합니다. 그러나 그것은 단지 제 문제입니다 8-).

답변3

어쨌든... 메일과 관련된 모든 패키지/함수는 생략 가능합니다. 내가 아는 모든 배포판은 다양한 MTA, MUA, 메일 저장 처리기(POP, IMAP 서버), 스팸 필터/조치 등을 제공합니다.

관련 정보