exim 거래 이메일 서비스
Sendmail의 대안으로 오픈 소스 메일 전송 에이전트
EXIM은 이메일 라우팅 및 배송을위한 고도로 사용자 정의 가능한 오픈 소스 메일 전송 에이전트입니다. 기업 수준의 조직이 유연성을 위해 가장 좋은 선택입니다.
개요
전자 우편을 통한 커뮤니케이션은 우리 삶에서 원시적이되었습니다. 데스크탑에서 이메일을 보내려면 모바일 또는 기타 장치가 대부분의 사람들에게 일상적인 일입니다. SMTP (Simple Mail Transfer Protocol)는 이메일을 보내는 데 사용되는 표준 프로토콜입니다. IMAP 및 POP3은 이메일을받는 프로토콜입니다. IMAP는 장치의 동기화로 인해 POP보다 몇 가지 장점이 있습니다. 따라서 오픈 소스를 제공하고 필요한 모든 프로토콜을 지원하는 메일 송금 에이전트가 중요합니다. 메일 전송 에이전트를 실행하는 것은 매우 지루한 작업이므로 MTA 소프트웨어를 선택하는 선택에는 요구 사항 매트릭스에 대한 깊은 분석이 필요합니다. EXIM은 가장 유연한 오픈 소스 메일 전송 에이전트 중 하나입니다. EXIM에는 Sendmail 호환성, CPANEL 지원, Flexible Configuration 및 무엇보다도 거대한 오픈 소스 커뮤니티 지원을 포함한 최첨단 기능 번들이 제공됩니다. EXIM은 복잡한 구성을 설정하기 위해 응용 프로그램 언어를 가진 프레임 워크와 같습니다. 복잡한 사용 사례를 해결하는 데 도움이되는 고급 멀티 스텝 메일 처리 로직이 있습니다. Sendmail은 이미 모든 측면에서 Postfix로 손실되었지만 Postfix는 덜 다재다능합니다. 통합 지원이 뛰어나며 시스템 관리자가 요청할 수있는 모든 것을 제공합니다. EXIM은 대부분의 우편 전송 에이전트 기능을 어떤 식 으로든 지원합니다.
시스템 요구 사항
Exim을 구축하기 전에 모든 운영 체제와 무관하게 옵션을 지정하는 로컬 구성 파일을 Local/MakeFile이라는 이름으로 작성해야합니다. 이 파일의 템플릿은 파일 src/editme로 제공되며 모든 옵션 설정에 대한 전체 설명이 포함되어 있습니다. 따라서 이러한 설명은 여기에서 반복되지 않습니다. 처음으로 Exim을 구축하는 경우 가장 간단한 작업은 SRC/EditMe를 Local/MakeFile에 복사 한 다음 읽고 적절하게 편집하는 것입니다. EXIM은 그들없이 구축되지 않기 때문에 공급해야 할 세 가지 설정이 있습니다. 런타임 구성 파일 (구성 \ _file)의 위치, exim binaries가 설치 될 디렉토리 (bin \ _directory) 및 exim 사용자의 ID (exim \ _user 및 exim \ _group)의 위치입니다. 구성 \ _file의 값은 실제로 콜론으로 분리 된 파일 이름 목록 일 수 있습니다. Exim은 존재하는 첫 번째를 사용합니다. 빌드 타임 또는 런타임에 지정할 수있는 몇 가지 다른 매개 변수가 있습니다. 그러나 Exim의 Spool 디렉토리 및 로그 파일 디렉토리 (스풀 디렉토리 내에없는 경우)의 위치가 고정 된 경우 런타임 대신 로컬/makefile에 지정하는 것이 좋습니다. ralformed configuration 파일)을 로그인 할 수 있습니다. 액세스 제어 목록에서 바이러스 및 스팸 스캔 소프트웨어를 호출하기위한 Exim의 인터페이스는 기본적으로 컴파일되지 않습니다. 이 시설을 포함 시키려면 설정해야합니다.
WITH_CONTENT_SCAN=yes
지역/makefile에서. 시설 자체에 대한 자세한 내용 EXIM 모니터를 구축하려는 경우 유사한 구성 프로세스가 필요합니다. exim \ _monitor/editme 파일은 설치에 적절하게 편집해야하며 Local/eximon.conf라는 이름으로 저장해야합니다. exim \ _monitor/editme에 설명 된 기본 설정에 만족하면 Local/Eximon.conf가 비어있을 수 있지만 존재해야합니다. 이것은 알려진 운영 체제의 간단한 경우에 필요한 모든 구성입니다. 그러나 빌딩 프로세스는 기본적으로 또는 작동 시티스턴 특정 구성 파일 (예 : 기본값)을 GCC로 변경하기 위해 설정된 옵션을 쉽게 재정의 할 수 있도록 설정됩니다.
특징
EXIM은 최상위 오픈 소스 메일 전송 에이전트 소프트웨어에서 상상할 수있는 모든 최신 기능을 지원합니다. 이것들은 Exim의 주요 특징 중 일부입니다.
- EXIM은 스마일과 동일한 분산 된 대조군의 일반적인 접근법을 따릅니다. 메일 배송의 전반적인 관리를 수행하는 중앙 프로세스는 없습니다. 그러나 Smail과 달리 독립 전달 프로세스는 ‘힌트’형태로 데이터를 공유하여 일부 경우 전달이 더 효율적입니다. 힌트는 여러 DBM 파일에 보관됩니다. 이러한 파일 중 하나라도 손실되면 유일한 효과는 전달 시도 및 검색 패턴을 변경하는 것입니다.
- 많은 구성 옵션은 확장 문자열로 주어질 수 있으며, 사용될 때 다양한 방식으로 변환됩니다. 여기에는 파일 조회가 포함될 수 있으므로 EXIM 작업의 대부분이 원하는 경우 테이블 중심으로 만들 수 있습니다. 예를 들어, 사용자가 계정이없는 기계에서 로컬 배송을 수행 할 수 있습니다. 문자열을 확장하면서 Perl 통역사를 실행하여 궁극적 인 유연성을 얻을 수 있습니다.
- 역사적 메시지를 볼 수있는 액세스.
- 전체 발신을 볼 수있는 액세스 & amp; 들어오는 메시지 대기열. -EXIM에는 유연한 재 시도 알고리즘이 있으며, 주소를 지시 및 라우팅하고 배송에 적용 할 수 있습니다. -Exim에는 헤더 및 봉투 재 작성 시설이 포함되어 있습니다.
- 자격이없는 주소는 지정된 호스트 또는 네트워크에서만 허용됩니다.
- EXIM은 배송이 지연된 후 동일한 SMTP 채널에서 여러 배송을 수행 할 수 있습니다.
- EXIM은 즉시 로컬 배송을 수행하도록 구성 할 수 있지만 큐 러너 프로세스에 의해 메시지를 선택할 때까지 SMTP (Remote) 배송을 떠나도록 구성 할 수 있습니다. 이렇게하면 여러 메시지가 단일 SMTP 연결로 전송 될 가능성이 높아집니다.
- 다른 호스트에게 동일한 메시지의 원격 배달을 선택적으로 병렬로 수행 할 수 있습니다.
- 들어오는 SMTP 메시지는 SMTP 호출이 닫히기를 기다리지 않고 수신 되 자마자 전달을 시작합니다. -EXIM은 클라이언트 인증을위한 SMTP AUTH EXTENSION 및 암호화 된 연결을 설정하기위한 STARTTLS EXTENSION을 지원합니다.
- Perl-Compatible 일반 표현식은 여러 구성 매개 변수로 제공됩니다.
- 도메인 목록에는 파일 조회가 포함되어있어 매우 많은 수의 로컬 도메인을 지원할 수 있습니다. -EXIM은 SMTP에서 수신 된대로 수신 반환 경로 (발신자) 및 수신기 주소의 선택적 검사를 지원합니다.
- 선택적으로 특정 Idents의 특정 시스템의 SMTP 호출은 잠겨질 수 있으며 특정 발신자의 SMTP 메시지를 잠그는 것도 고정 될 수 있습니다. EXIM은 또한 실시간 차단 목록 (RBL)의 사용을 지원합니다.
- 머신을 통해 메일을 다른 외부 도메인으로 릴레이 할 수있는 호스트는 IP 번호 또는 IP 네트워크 번호로 제어 할 수 있습니다. 수신자 도메인 및 발신자 주소의 릴레이 제어도 사용할 수 있습니다.
- 큐의 메시지는 관리자가 ‘Frozen’및 ‘Thawed’될 수 있습니다.
- EXIM은 동일한 기계의 여러 독립적 인 로컬 도메인을 처리 할 수 있습니다. 각 도메인에는 자체 별명 파일 등이있을 수 있습니다.이 시설은 때때로 ‘가상 도메인’으로 알려져 있습니다.
- 간단한 메일 링리스트는 EXIM 자체에 의해 직접 처리 할 수 있습니다 (그러나 ‘심각한’메일 링리스트 작업의 경우 전문 메일 링리스트 소프트웨어와 함께 사용하는 것이 가장 좋습니다). -Exim은 누락 된 NFS 마운트의 경우를 감지하기 위해`forward ‘파일을 찾기 전에 사용자의 홈 디렉토리를 통계합니다. 디렉토리를 사용할 수없는 경우 배송이 지연됩니다. -EXIM에는 옵션이 내장 메일 필터링 시설이 포함되어 있습니다. 이는 사용자가 개인 필터 파일을 제공 할 수 있도록 구성 할 수 있으며 시스템 전체의 필터 파일이 모든 메시지에 적용될 수도 있습니다.
- 필터 메커니즘 또는 여러`.forward ‘파일을 통해 사용자 이름의 접두사 또는 접두사를 통해 제어되는 여러 사용자 사서함에 대한 지원이 있습니다.
- 배송이 지연 될 때 주기적 경고는 메시지의 발신자에게 자동으로 전송됩니다. 경고 사이의 시간은 구성 가능합니다. 경고는 메시지의 내용에 조건부로 이루어질 수 있습니다.
- 큐 실행은 수동으로 큐의 특정 부분 만 제공되거나 주소가 주어진 문자열이 포함 된 수신자와 함께 전달하기 시작할 수 있습니다. SMTP의 ETRN 명령에 대한 지원이 있습니다.
- EXIM은 로컬 배송을 수행 할 때를 제외하고는 항상 루트로 실행되도록 구성 할 수 있습니다. 또는 필요할 때만 루트로 실행하도록 구성 할 수 있습니다. 특히, 들어오는 메시지를 수신 할 때 또는 SMTP를 통해 메시지를 보낼 때 루트로 실행할 필요는 없습니다. 보안 문제에 대한 논의는 55 장을 참조하십시오.
- 나는 현재 이메일을 사용하는 덜 경험이없는 사람들의 이익을 위해 배달 실패 메시지의 문구를 더 명확하고 단순하게 만들려고 노력했습니다. 이 메시지에 대한 대체 문구는 별도의 파일로 제공 될 수 있습니다.
- EXIM 모니터는 선택적 추가입니다. X 창에 EXIM 처리에 대한 정보가 표시되며 관리자는 Window 인터페이스에서 여러 제어 작업을 수행 할 수 있습니다. 그러나 이러한 모든 작업은 명령 줄 인터페이스에서도 사용할 수 있습니다.
설치 지침
exim binaries 및 스크립트 설치
명령은 설치가 인수없이 exim \ _install 스크립트를 실행합니다. 이 스크립트는 Local/MakeFile의 bin \ _directory 설정에 의해 이름이 지정된 디렉토리에 바이너리와 유틸리티 스크립트를 복사합니다. 설치 스크립트는 파일이 교체 할 파일보다 새로 사용되는 경우에만 파일을 복사합니다. 엑시 바이너리는 루트가 소유해야하며 정상적인 구성을 위해 setuid 비트를 설정해야합니다. 따라서 이러한 방식으로 엑시 바이너리를 설정할 수 있도록 루트로 설치해야합니다. 그러나 일부 특별한 상황에서 (예를 들어, 호스트가 로컬 배달을하지 않는 경우) 이진 세트 루트를 만들지 않고 EXIM을 실행할 수 있습니다 (자세한 내용은 56 장 참조). Exim의 런타임 구성 파일은 Local/MakeFile의 구성 \ _file 설정에 따라 명명되었습니다. 이 파일의 이름을 지정하고 파일이 존재하지 않으면 기본 구성 파일 SRC/Configure.Default가 설치 스크립트에 의해 복사됩니다. 런타임 구성 파일이 이미 존재하면 혼자 남겨집니다. 구성 \ _file이 콜론 구분 된 목록 인 경우 여러 대체 파일을 지정하면 기본값이 설치되지 않습니다. 설치 될 때 기본 구성 파일을 하나의 변경으로 변경됩니다. 기본 구성에는 시스템 별명 파일을 참조하는 라우터가 포함되어 있습니다. 이 파일의 경로는 local/makefile (기본적으로/etc/aliases)에서 시스템 \ _aliases \ _file에 의해 지정된 값으로 설정됩니다. 시스템 별명 파일이 존재하지 않으면 설치 스크립트가이를 생성하고 사용자에게 주석을 출력합니다. 생성 된 파일에는 별칭이 포함되어 있지 않지만 사이트가 일반적으로 가지고있는 별칭에 대한 의견이 포함되어 있습니다. 메일 별명은 전통적으로 /etc /별명으로 유지되었습니다. 그러나 일부 운영 체제는 이제/etc/mail/aliases를 사용하고 있습니다. 귀하 가이 중 하나인지 확인하고 필요한 경우 EXIM의 구성을 변경해야합니다. 기본 구성은 로컬 호스트의 이름을 유일한 로컬 도메인으로 사용하며 로컬 사용자로 실행되는 공유 디렉토리 /var /mail로 로컬 배송을 수행하도록 설정됩니다. 사용자의 홈 디렉토리의 시스템 별명 및 포워드 파일은 지원되지만 NIS 또는 NIS+ 지원은 구성되지 않습니다. 로컬 호스트의 이름 이외의 도메인은 DNS를 사용하여 라우팅되며 SMTP를 통해 전달됩니다. 파일 시스템의 개인 부분에 특수 목적 (예 : 이진 분포 구축)을 위해 EXIM을 설치할 수 있습니다. 당신은 다음과 같은 명령으로 이것을 할 수 있습니다
make DESTDIR=/some/directory/ install
이는 기본 구성에 나타나는 시스템 별칭 파일의 이름을 제외하고 지정된 디렉토리를 모든 파일 경로에 미리 보유하는 효과가 있습니다. (기본 별명 파일이 생성되면 이름이 수정됩니다.) 거꾸로 호환되면 Destdir가 설정되지 않은 경우 루트가 사용되지만이 사용량은 더 이상 사용되지 않습니다. 설치를 실행하면 exim 4 변환 스크립트 convert4r4를 복사하지 않습니다. exim 3에서 업그레이드하는 경우에만 한 번만 실행할 수 있습니다. 아래 4.17 절에 설명 된대로 정보 \ _directory를 설정 한 경우 정보 파일을 제외하고 Doc 디렉토리의 문서 파일은 복사되지 않습니다. 유틸리티 프로그램의 경우 이전 버전의 이름에 이름이 바뀌 었습니다. 그러나 엑시 바이너리 자체는 다르게 처리됩니다. 버전 번호와 컴파일 번호 (예 : EXIM-4.94-1)가 포함 된 이름으로 설치됩니다. 그런 다음 스크립트는 EXIM이라는 상징적 링크가 이진을 가리 키도록합니다. 이전 버전의 EXIM을 업데이트하는 경우 스크립트는 다른 프로세스에서 볼 수 있듯이 EXIM이 디렉토리에 없는지 확인하기 위해주의를 기울입니다. Real을 위해 실행하기 전에 Make Install이 무엇을할지 확인하려면이 명령을 통해 -N 옵션을 설치 스크립트로 전달할 수 있습니다.
make INSTALL_ARG=-n install
변수 설치 \ _arg의 내용은 설치 스크립트로 전달됩니다. 이 테스트를 실행하기 위해 루트 일 필요는 없습니다. 또는 설치 스크립트를 직접 실행할 수 있지만 빌드 디렉토리 내에서 있어야합니다. 예를 들어, 최상위 EXIM 디렉토리 에서이 명령을 사용할 수 있습니다.
(cd build-SunOS5-5.5.1-sparc; ../scripts/exim_install -n)
설치 스크립트에 제공 할 수있는 두 가지 옵션이 있습니다. -No \ _chown은 설치된 바이너리의 소유자를 루트로 변경하기 위해 호출을 우회하고,이를 세트 바이너리로 만들도록 호출합니다. -No \ _symlink는 설치된 바이너리에 대한 기호 링크 exim의 설정을 우회합니다. 설치 \ _arg를 사용하여 이러한 옵션을 스크립트로 전달할 수 있습니다. 예를 들어:
make INSTALL_ARG=-no_symlink install
설치 스크립트에도 복사 할 파일을 지정하는 인수도 제공 할 수 있습니다. 예를 들어, 상징적 링크를 만들지 않고 엑시 바이너리 만 설치하려면 다음을 사용할 수 있습니다.
make INSTALL_ARG='-no_symlink exim' install
정보 문서 설치
모든 시스템이 문서화에 GNU 정보 시스템을 사용하는 것은 아니며, 이러한 이유로 Exim 문서의 Texinfo 소스는 주요 배포에 포함되지 않습니다. 대신 FTP 사이트와 별도로 사용할 수 있습니다 (섹션 1.5 참조). Local/MakeFile에서 Info \ _Directory를 정의한 경우 문서의 TexInfo 소스가 소스 트리에있는 경우 설치를 실행하면 정보 파일을 자동으로 빌드하여 설치합니다.