검색

15.3. 메일 전송 에이전트

download PDF

Red Hat Enterprise Linux 7은 다음 두 가지 주요 MTA를 제공합니다. redfish 및 Sendmail. redfish는 기본 MTA로 구성되며 Sendmail은 더 이상 사용되지 않는 것으로 간주됩니다. 기본 MTA를 Sendmail으로 전환해야 하는 경우 Postfix를 제거하거나 다음 명령을 root 로 사용하여 Sendmail로 전환할 수 있습니다.

~]# alternatives --config mta

다음 명령을 사용하여 원하는 서비스를 활성화할 수도 있습니다.

~]# systemctl enable service

마찬가지로 서비스를 비활성화하려면 쉘 프롬프트에서 다음을 입력합니다.

~]# systemctl disable service

Red Hat Enterprise Linux 7에서 시스템 서비스를 관리하는 방법에 대한 자세한 내용은 10장. systemd를 사용하여 서비스 관리 를 참조하십시오.

15.3.1. RHEA

원래 IBM의 보안 전문가 및 프로그래머가 Wetse Venema에서 개발되었으며, post는 안전하고 빠르고 쉽게 구성할 수 있도록 설계된 Sendmail 호환 MTA입니다.

보안 향상을 위해 Postfix는 제한된 권한이 있는 작은 프로세스가 마스터 데몬에서 시작되는 모듈식 설계를 사용합니다. 권한이 적은 작은 프로세스는 메일 전송의 다양한 단계와 관련된 매우 구체적인 작업을 수행하고 변경된 루트 환경에서 실행되어 공격의 영향을 제한합니다.

로컬 컴퓨터가 아닌 호스트의 네트워크 연결을 수락하도록 Postfix를 구성하는 작업은 구성 파일의 몇 가지 사소한 변경 사항만 사용합니다. 그러나 더 복잡한 요구 사항이 있는 사용자를 위해 SASL은 다양한 구성 옵션과 다양한 구성 옵션을 제공하여 매우 다양하고 완전한 기능을 갖춘 MTA를 만드는 타사 애드온을 제공합니다.

redfish의 구성 파일은 사람이 읽을 수 있고 250개 이상의 지시문을 지원합니다. Sendmail과 달리 변경 사항을 적용하려면 매크로 처리가 필요하지 않으며 가장 일반적으로 사용되는 옵션의 대부분은 크게 주석 처리된 파일에 설명되어 있습니다.

15.3.1.1. 기본 SASL 설치

postfix 실행 파일은 postfix 입니다. 이 데몬은 메일 배달을 처리하는 데 필요한 모든 관련 프로세스를 시작합니다.

Postfix는 구성 파일을 /etc/hiera/ 디렉터리에 저장합니다. 다음은 더 일반적으로 사용되는 파일 목록입니다.

  • 액세스 - 액세스 제어에 사용됩니다. 이 파일은 Postfix에 연결할 수 있는 호스트를 지정합니다.
  • main.cf - 글로벌 Postfix 구성 파일. 대부분의 구성 옵션은 이 파일에 지정되어 있습니다.
  • master.cf - Postfix가 메일 전달을 수행하기 위해 다양한 프로세스와 상호 작용하는 방법을 지정합니다.
  • transport - 호스트를 릴레이할 맵 이메일 주소입니다.

aliases 파일은 /etc 디렉토리에서 찾을 수 있습니다. 이 파일은 Postfix와 Sendmail 간에 공유됩니다. 이는 사용자 ID 별칭을 설명하는 메일 프로토콜에 필요한 구성 가능한 목록입니다.

중요

기본 /etc/hiera/main.cf 파일은 Postfix가 로컬 컴퓨터가 아닌 호스트의 네트워크 연결을 수락하도록 허용하지 않습니다. rsyslog를 다른 클라이언트의 서버로 구성하는 방법은 15.3.1.3절. “기본 Postfix 구성” 을 참조하십시오.

해당 변경 사항을 적용하려면 /etc/hiera/ 디렉터리에 있는 구성 파일의 옵션을 변경한 후 postfix 서비스를 다시 시작합니다. 이렇게 하려면 root 로 다음 명령을 실행하십시오.

~]# systemctl restart postfix

15.3.1.2. 이전 릴리스에서 업그레이드

Red Hat Enterprise Linux 7의 다음 설정은 이전 릴리스와 다릅니다.

  • disable_vrfy_command = no - 이는 기본적으로 비활성화되며 Sendmail의 기본값이 다릅니다. 예로 변경한 경우 특정 이메일 주소 수집 방법을 방지할 수 있습니다.
  • allow_percent_hack = yes - 기본적으로 활성화되어 있습니다. 이메일 주소에서 % 문자를 제거할 수 있습니다. 백분율 해킹은 이메일 메시지의 발신자 제어 라우팅을 허용하는 이전 해결 방법입니다. DNS 및 메일 라우팅은 이제 훨씬 더 신뢰할 수 있지만 Postfix는 계속 해킹을 지원합니다. 백분율 재쓰기를 해제하려면 allow_percent_hackno 로 설정합니다.
  • 일부 애플리케이션이 이메일을 전송하지 못하도록 할 수 있기 때문에 Sendmail에 있기 때문에 기본적으로 이 _helo_required = no - 이는 기본적으로 비활성화되어 있습니다. MAIL, FROM 또는 ETRN 명령을 보내기 전에 클라이언트가 HELO 또는 EHLO 명령을 전송하도록 요구하도록 yes 로 변경할 수 있습니다.

15.3.1.3. 기본 Postfix 구성

기본적으로 Postfix는 로컬 호스트가 아닌 호스트의 네트워크 연결을 허용하지 않습니다. root 로 다음 단계를 수행하여 네트워크에서 다른 호스트에 대한 메일 전달을 활성화합니다.

  • vi 와 같은 텍스트 편집기를 사용하여 /etc/ alice/main.cf 파일을 편집합니다.
  • 해시 기호(#)를 제거하여 mydomain 행의 주석을 제거하고 domain.tld 를 메일 서버가 서비스하는 도메인으로 교체합니다(예: example.com.
  • myorigin = $mydomain 행의 주석을 제거합니다.
  • myhostname 행의 주석을 제거하고 host.domain.tld 를 시스템의 호스트 이름으로 교체합니다.
  • mydestination = $myhostname, localhost.$mydomain 행의 주석을 제거합니다.
  • mynetworks 행의 주석을 제거하고 168.100.189.0/28 을 서버에 연결할 수 있는 호스트의 유효한 네트워크 설정으로 바꿉니다.
  • inet_interfaces = 모든 행의 주석을 제거합니다.
  • inet_interfaces = localhost 행을 주석 처리합니다.
  • postfix 서비스를 다시 시작합니다.

이러한 단계가 완료되면 호스트는 외부 이메일을 수락하여 전달할 수 있습니다.

Postfix에는 구성 옵션의 많은 정렬이 있습니다. Postfix를 구성하는 방법을 배울 수 있는 가장 좋은 방법 중 하나는 /etc/hiera/main.cf 구성 파일 내의 주석을 읽는 것입니다. Postfix 구성, SpamAssassin 통합 또는 /etc/hiera/main.cf 매개변수에 대한 자세한 설명을 포함한 추가 리소스는 http://www.postfix.org/ 에서 온라인으로 확인할 수 있습니다.

중요

POODLE에서 설명하는 취약점으로 인해 다음을 수행합니다. SSLv3 취약점 (CVE-2014-3566)SSL 을 비활성화하고 TLSv1.1 또는 TLSv1.2 만 사용하는 것이 좋습니다. Etcd 및 Dovecot에서 POODLE SSL 3.0 취약점(CVE-2014-3566)에 대한 확인 을 참조하십시오.

15.3.1.4. LDAP에서 SASL 사용

Postfix는 LDAP 디렉터리를 다양한 조회 테이블(예: 별칭,가상,표준 등)의 소스로 사용할 수 있습니다. 이렇게 하면 LDAP 에서 계층적 사용자 정보를 저장할 수 있으며,mit은 필요한 경우에만 LDAP 쿼리 결과를 제공할 수 있습니다. 이 정보를 로컬에 저장하지 않으면 관리자가 쉽게 관리할 수 있습니다.

15.3.1.4.1. /etc/aliases 조회 예

다음은 LDAP 를 사용하여 /etc/aliases 파일을 검색하는 기본 예입니다. /etc/northeast/main.cf 파일에 다음이 포함되어 있는지 확인합니다.

alias_maps = hash:/etc/aliases, ldap:/etc/postfix/ldap-aliases.cf

아직 없는 경우 /etc/dhcp/ldap-aliases.cf 파일을 만들고 다음 파일이 포함되어 있는지 확인합니다.

server_host = ldap.example.com
search_base = dc=example, dc=com

여기서 ldap.example.com,examplecom 은 사용 가능한 기존 LDAP 서버의 사양으로 교체해야 하는 매개 변수입니다.

참고

/etc/journal/ldap-aliases.cf 파일은 LDAP SSL 및 ACPI TLS 를 활성화하는 매개 변수를 포함하여 다양한 매개 변수를 지정할 수 있습니다. 자세한 내용은 ldap _table(5) 매뉴얼 페이지를 참조하십시오.

LDAP 에 대한 자세한 내용은 System-Level Authentication GuideOpenLDAP 를 참조하십시오.

15.3.2. 이메일 보내기

다른 MTA와 마찬가지로 sendmail의 핵심 목적은 일반적으로 SMTP 프로토콜을 사용하여 호스트 간에 이메일을 안전하게 전송하는 것입니다. Sendmail은 더 이상 사용되지 않으며 관리자는 가능한 경우 redfish를 사용하는 것이 좋습니다. 자세한 내용은 15.3.1절. “RHEA”를 참조하십시오.

15.3.2.1. 목적 및 제한 사항

보낸 편지가 무엇인지, 그리고 그것이 무엇을 할 수 있는지에 대해 인식하는 것이 중요합니다. 여러 역할을 수행하는 모놀리식 애플리케이션의 며칠 동안 Sendmail은 조직 내에서 이메일 서버를 실행하는 데 필요한 유일한 애플리케이션처럼 보일 수 있습니다. Sendmail은 각 사용자의 디렉토리로 이메일을 스풀(spool)하고 사용자에게 아웃바운드 이메일을 전달할 수 있기 때문에 기술적으로는 사실입니다. 그러나 대부분의 사용자는 실제로 간단한 이메일 전송보다 훨씬 더 많은 것을 필요로합니다. 일반적으로 사용자는 해당 메시지를 로컬 시스템에 다운로드하는 MUA를 사용하는 MUA사용하여 이메일과 상호 작용하려고 합니다. 또는 웹 인터페이스를 사용하여 메일함에 대한 액세스 권한을 얻을 수 있습니다.Or, they may prefer a Web interface to gain access to their mailbox. 이러한 다른 응용 프로그램은 Sendmail과 함께 작동 할 수 있지만 실제로는 다른 이유로 존재하며 서로 별도로 작동 할 수 있습니다.

이 섹션의 범위를 벗어나서 Sendmail이 할 수 있거나 구성되어야 합니다. 문자 그대로 수백 가지의 다양한 옵션 및 규칙 세트로, 전체 볼륨은 할 수있는 모든 것을 설명하고 잘못된 것을 수정하는 방법을 돕기 위해 최선을 다하고 있습니다. Sendmail 리소스 목록은 15.7절. “추가 리소스” 을 참조하십시오.

이 섹션에서는 기본적으로 Sendmail과 함께 설치된 파일을 검토하고 원치 않는 이메일(spam)을 중지하는 방법과 LDAP(Lightweight Directory Access Protocol )를 사용하여 Sendmail을 확장하는 방법을 포함하여 기본 구성 변경 사항을 검토합니다.

15.3.2.2. 기본 Sendmail 설치

Sendmail을 사용하려면 먼저 루트로 다음을 실행하여 sendmail 패키지가 시스템에 설치되어 있는지 확인하십시오.

~]# yum install sendmail

Sendmail을 구성하려면 root 로 를 실행하여 sendmail-cf 패키지가 시스템에 설치되어 있는지 확인합니다.

~]# yum install sendmail-cf

YUM을 사용하여 패키지 설치에 대한 자세한 내용은 9.2.4절. “패키지 설치” 을 참조하십시오.

Sendmail을 사용하기 전에 기본 MTA를 Postfix에서 전환해야 합니다. 기본 MTA를 전환하는 방법에 대한 자세한 내용은 15.3절. “메일 전송 에이전트” 을 참조하십시오.

Sendmail 실행 파일은 sendmail 입니다.

sendmail 구성 파일은 /etc/mail/sendmail.cf.에 있습니다. sendmail.cf 파일을 직접 편집하지 마십시오. Sendmail을 설정하려면 /etc/mail/sendmail.mc 파일을 편집하고 원본 /etc/mail/sendmail.cf 파일을 백업하고 sendmail 서비스를 다시 시작합니다. 다시 시작의 일부로 sendmail.cf 파일과 데이터베이스의 모든 바이너리 표현은 다시 빌드됩니다.

# systemctl restart sendmail

Sendmail 구성에 대한 자세한 내용은 15.3.2.3절. “일반적인 Sendmail 구성 변경 사항” 에서 확인할 수 있습니다.

다양한 Sendmail 구성 파일은 /etc/mail/ 디렉토리에 다음과 같이 설치됩니다.

  • 액세스 - 아웃바운드 이메일에 대해 Sendmail을 사용할 수 있는 시스템을 지정합니다.
  • domaintable - 도메인 이름 매핑을 지정합니다.
  • local-host-names - 호스트의 별칭을 지정합니다.
  • mailertable - 특정 도메인의 라우팅을 재정의하는 명령을 지정합니다.
  • virtusertable - 하나의 시스템에서 여러 가상 도메인을 호스팅할 수 있도록 도메인별 별칭 형식을 지정합니다.

/etc/mail/ 디렉토리의 여러 설정 파일(예: 액세스,도메인 테이블,mailertablevirtusertable )은 데이터베이스 파일에 해당 정보를 저장하므로 Sendmail은 구성 변경을 사용할 수 있습니다.

이러한 구성에 대한 변경 사항을 데이터베이스 파일에 포함하려면 다음 명령을 실행합니다.

# systemctl restart sendmail

15.3.2.3. 일반적인 Sendmail 구성 변경 사항

Sendmail 구성 파일을 변경할 때는 기존 파일을 편집하지 않고 완전히 새로운 /etc/mail/sendmail.cf 파일을 생성하는 것이 가장 좋습니다.

주의

sendmail.cf 파일을 변경하거나 변경하기 전에 백업 사본을 생성합니다.

Sendmail에 원하는 기능을 추가하려면 /etc/mail/sendmail.mc 파일을 루트로 편집합니다. 완료되면 sendmail 서비스를 다시 시작하고 m4 패키지가 설치되면 m4 매크로 프로세서에서 새 sendmail.cf 구성 파일을 자동으로 생성합니다.

~]# systemctl restart sendmail
중요

기본 sendmail.cf 파일은 Sendmail이 로컬 컴퓨터 이외의 모든 호스트의 네트워크 연결을 수락하도록 허용하지 않습니다. Sendmail을 다른 클라이언트에 대한 서버로 구성하려면 /etc/mail/sendmail.mc 파일을 편집하고 DAE 6443_ OPTIONS 지시문의 Addr= 옵션에 지정된 주소를 active 네트워크 장치의 IP 주소로 변경하거나 DAE 6443_ OPTIONS 지시문에서 모든 DAE 6443_OPTIONS 지시어를 함께 배치하여 주석으로 지정합니다. 완료되면 서비스를 다시 시작하여 /etc/mail/sendmail.cf 를 다시 생성합니다.

~]# systemctl restart sendmail

Red Hat Enterprise Linux의 기본 구성은 대부분의 SMTP- 전용 사이트에서 작동합니다.

/ etc/share/sendmail-cf/README 파일의 향후 구성에 영향을 미칠 수 있으므로 /usr/share/sendmail-cf/ 디렉터리에 있는 디렉터리의 파일을 편집하기 전에 /usr/share/sendmail-cf/ README 파일을 참조하십시오.

15.3.2.4. 마스커레이딩

일반적인 Sendmail 구성 중 하나는 단일 시스템이 네트워크상의 모든 컴퓨터에 대한 메일 게이트웨이 역할을 하도록 하는 것입니다. 예를 들어, 한 회사에서는 모든 이메일을 처리하고 나가는 모든 메일에 일관된 반환 주소를 할당하는 mail.example.com 이라는 시스템이 필요할 수 있습니다.

이 경우 Sendmail 서버는 회사 네트워크의 머신 이름을 마스커레이드하여 반환 주소가 user@host.example.com 대신 되게 해야 합니다.

이렇게 하려면 /etc/mail/sendmail.mc 에 다음 행을 추가하십시오.

FEATURE(always_add_domain)dnl
FEATURE(masquerade_entire_domain)dnl
FEATURE(masquerade_envelope)dnl
FEATURE(allmasquerade)dnl
MASQUERADE_DOMAIN(`example.com.')dnl
MASQUERADE_AS(`example.com')dnl

sendmail.mc의 변경된 구성에서 새 sendmail.cf 파일을 생성한 후 다음 명령으로 sendmail 서비스를 다시 시작합니다.

# systemctl restart sendmail

메일 서버, DNSDHCP 서버 및 프로비저닝 애플리케이션의 관리자는 조직에 사용된 호스트 이름 형식에 동의해야 합니다. 권장 이름 지정 방법에 대한 자세한 내용은 Red Hat Enterprise Linux 7 네트워킹 가이드 를 참조하십시오.

15.3.2.5. 스팸 중지

이메일 스팸은 통신을 요청하지 않는 사용자가 수신한 불필요한 이메일과 원치 않는 이메일로 정의될 수 있습니다. 이는 혼란스럽고 비용이 많이 들고 인터넷 통신 표준을 광범위하게 악용하는 것입니다.

sendmail을 사용하면 정크 이메일을 보내는 데 사용되는 새로운 스팸 기술을 쉽게 차단할 수 있습니다. 또한 기본적으로 더 일반적인 스팸 방법을 많이 차단합니다. sendmail에서 사용할 수 있는 주요 스팸 기능은 헤더 검사 이며,거부 거부 (기본값: 버전 8.9), 액세스 데이터베이스 및 발신자 정보 점검 입니다.

예를 들어 Sendmail 버전 8.9부터 릴레이라고도 하는 SMTP 메시지의 전달은 기본적으로 비활성화되어 있습니다. 이러한 변경이 발생하기 전에 메일 호스트(x.edu)를 전달하여 한 당사자(y.com)의 메시지를 수락하고 다른 파티(z.net)로 보냅니다. 그러나 이제 모든 도메인이 서버를 통해 이메일을 릴레이할 수 있도록 Sendmail을 구성해야 합니다. 릴레이 도메인을 구성하려면 /etc/mail/relay-domains 파일을 편집하고 Sendmail을 다시 시작합니다.

~]# systemctl restart sendmail

그러나 인터넷의 서버도 스팸 메시지를 보낼 수 있습니다. 이러한 경우 /etc/mail/access 파일을 통해 사용할 수 있는 Sendmail의 액세스 제어 기능을 사용하여 원하지 않는 호스트에서 연결을 방지할 수 있습니다. 다음 예제에서는 이 파일을 차단과 특히 Sendmail 서버에 대한 액세스를 허용하는 방법을 보여줍니다.

badspammer.com ERROR:550 "Go away and do not spam us anymore" tux.badspammer.com OK 10.0 RELAY

이 예에서는 badspammer.com 에서 전송된 모든 이메일이 550 RFC-821 호환 오류 코드로 차단되어 메시지가 다시 전송되었음을 보여줍니다. tux.badspammer.com 하위 도메인에서 전송된 이메일은 허용됩니다. 마지막 줄은 10.0.. . 네트워크에서 전송된 모든 이메일이 메일 서버를 통해 중계될 수 있음을 보여줍니다.

/etc/mail/access.db 파일은 데이터베이스이므로 다음 명령을 사용하여 변경 사항을 업데이트합니다.

# systemctl restart sendmail

위의 예는 Sendmail이 액세스를 허용하거나 차단하는 측면에서 수행할 수 있는 작업의 작은 부분만을 나타냅니다. 자세한 내용과 예제는 /usr/share/sendmail-cf/README 파일을 참조하십시오.

Sendmail은 이메일을 제공할 때 Procmail MDA를 호출하기 때문에 SpamAssassin과 같은 스팸 필터링 프로그램을 사용하여 사용자의 스팸을 식별 및 파일할 수도 있습니다. SpamAssassin 사용에 대한 자세한 내용은 15.4.2.6절. “스팸 필터” 를 참조하십시오.

15.3.2.6. LDAP로 Sendmail 사용

LDAP 를 사용하는 것은 훨씬 더 큰 그룹에서 특정 사용자에 대한 특정 정보를 찾는 매우 빠르고 강력한 방법입니다. 예를 들어 LDAP 서버를 사용하여 사용자의 마지막 이름에 의해 공통 회사 디렉토리에서 특정 이메일 주소를 조회할 수 있습니다. 이러한 종류의 구현에서 LDAP 는 Sendmail과 크게 분리되어, LDAP 에서 계층적 사용자 정보를 저장하고, 미리 전송된 이메일 메시지의 LDAP 쿼리 결과를 통해서만 Sendmail을 보냅니다.

그러나 Sendmail은 LDAP 와 훨씬 더 큰 통합을 지원합니다. 여기서 LDAP 를 사용하여 /etc/aliases/etc/mail/virtusertables, 함께 작동하여 중간에서 엔터프라이즈급 조직을 지원하기 위해 함께 작동하는 별도의 유지 관리 파일을 교체합니다. 즉, LDAP 는 Sendmail 및 별도의 구성 파일에서 다양한 애플리케이션에서 활용할 수 있는 강력한 LDAP 클러스터로 메일 라우팅 수준을 추상화합니다.

현재 버전의 Sendmail에는 LDAP 에 대한 지원이 포함되어 있습니다. LDAP 를 사용하여 Sendmail 서버를 확장하려면 먼저 OpenLDAP, 실행 및 올바르게 구성된 LDAP 서버를 가져옵니다. 그런 다음 /etc/mail/sendmail.mc 를 편집하여 다음을 포함합니다.

LDAPROUTE_DOMAIN('yourdomain.com')dnl
FEATURE('ldap_routing')dnl
참고

이는 LDAP 를 사용한 Sendmail의 매우 기본적인 구성일 뿐입니다. LDAP 구현, 특히 공통 LDAP 서버를 사용하도록 여러 Sendmail 시스템을 구성하는 경우 이 구성과 크게 다를 수 있습니다.

자세한 LDAP 라우팅 구성 지침 및 예제는 /usr/share/sendmail-cf/README 를 참조하십시오.

다음으로 m4 매크로 프로세서를 실행하고 Sendmail을 다시 시작하여 /etc/mail/sendmail.cf 파일을 다시 생성합니다. 자세한 내용은 15.3.2.3절. “일반적인 Sendmail 구성 변경 사항” 을 참조하십시오.

LDAP 에 대한 자세한 내용은 System-Level Authentication GuideOpenLDAP 를 참조하십시오.

15.3.3. fetchmail

fetchmail은 원격 서버에서 이메일을 검색하고 로컬 MTA로 전달하는 MTA입니다. 많은 사용자는 MUA에서 이메일을 읽고 구성하는 과정에서 원격 서버에 있는 메시지를 다운로드하는 프로세스를 분리할 수 있다는 것을 인지하고 있습니다. 전화 접속 사용자를 염두에 두고 설계, Fetchmail은 모든 이메일 메시지를 신속하게 메일 스풀 파일에 연결합니다. ( POP3 및 6443을 포함한 모든 프로토콜을 포함 ) 필요한 경우 이메일 메시지를 SMTP 서버에 전달할 수도 있습니다.

참고

Fetchmail 을 사용하려면 먼저 root 로 실행하여 fetchmail 패키지가 시스템에 설치되어 있는지 확인하십시오.

~]# yum install fetchmail

YUM을 사용하여 패키지 설치에 대한 자세한 내용은 9.2.4절. “패키지 설치” 을 참조하십시오.

fetchmail은 사용자의 홈 디렉터리에서 .fetchmailrc 파일을 사용하여 각 사용자에 대해 구성됩니다. 아직 존재하지 않는 경우 홈 디렉터리에 .fetchmailrc 파일을 만듭니다.

.fetchmailrc 파일의 기본 설정을 사용하여 Fetchmail은 원격 서버에서 이메일을 확인하고 다운로드합니다. 그런 다음 로컬 MTA를 사용하여 올바른 사용자의 스풀 파일에 이메일을 배치하여 로컬 시스템의 포트 25로 전달합니다. Procmail을 사용할 수 있는 경우 이메일을 필터링하여 MUA에서 읽을 수 있도록 메일에 배치합니다.

15.3.3.1. 이메일 설정 옵션 가져오기

Fetchmail을 실행할 때 원격 서버에서 이메일을 확인하는 데 필요한 모든 옵션을 전달할 수 있지만 .fetchmailrc 파일을 사용하는 것이 훨씬 쉬워집니다. fetchmail 명령이 실행될 때마다 사용할 옵션에 대해 원하는 구성 옵션을 .fetchmailrc 파일에 배치합니다. 명령줄에서 해당 옵션을 지정하여 Fetchmail을 실행할 때 재정의할 수 있습니다.

사용자의 .fetchmailrc 파일에는 다음 세 가지 구성 옵션 클래스가 있습니다.

  • 글로벌 옵션 - 프로그램의 작동을 제어하거나 이메일을 확인하는 모든 연결에 대한 설정을 제공하는 Fetchmail 지침을 제공합니다.
  • 서버 옵션 - 폴링 중인 서버에 대한 필수 정보(예: 호스트 이름, 특정 이메일 서버에 대한 기본 설정(예: 시간 초과) 전에 대기할 포트 또는 확인하는 시간(초)에 대한 기본 정보를 지정합니다. 이러한 옵션은 해당 서버를 사용하는 모든 사용자에게 영향을 미칩니다.
  • 사용자 옵션 - 사용자 이름 및 암호와 같은 정보가 포함되어 있으며, 지정된 이메일 서버를 사용하여 이메일을 인증하고 확인합니다.

전역 옵션은 .fetchmailrc 파일의 맨 위에 나타나는 다음 하나 이상의 서버 옵션이 표시되며, 각 옵션은 Fetchmail에서 확인해야 하는 다른 이메일 서버를 지정합니다. 사용자 옵션은 해당 이메일 서버를 확인하는 각 사용자 계정에 대한 서버 옵션을 따릅니다. 서버 옵션과 마찬가지로, 특정 서버에 사용할 여러 사용자 옵션을 지정하고 동일한 서버에서 여러 이메일 계정을 확인할 수 있습니다.

서버 옵션은 서버 정보 앞에 있는 특수 옵션 동사, 폴링 또는 건너뛰기 를 사용하여 .fetchmailrc 파일의 서비스로 호출됩니다. 폴링 작업은 Fetchmail에 이 서버 옵션을 실행할 때 이 서버 옵션을 사용하도록 지시합니다. 이 옵션은 지정된 사용자 옵션을 사용하여 이메일을 확인합니다. 그러나 건너뛰기 작업 이후 서버 옵션은 Fetchmail이 호출될 때 이 서버의 호스트 이름을 지정하지 않는 한 확인되지 않습니다. 건너뛰기 옵션은 특별히 호출될 때 건너뛰 는 서버만 확인하므로 .fetchmailrc 파일에서 구성을 테스트할 때 유용하며 현재 사용 중인 구성에 영향을 미치지 않기 때문입니다.

다음은 .fetchmailrc 파일의 예입니다.

set postmaster "user1"
set bouncemail

poll pop.domain.com proto pop3
  user 'user1' there with password 'secret' is user1 here

poll mail.domain2.com
  user 'user5' there with password 'secret2' is user1 here
  user 'user7' there with password 'secret3' is user1 here

이 예에서 글로벌 옵션은 사용자가 마지막 수단으로 이메일을 전송하도록 지정합니다 (Postmaster 옵션) 및 모든 이메일 오류는 발신자 대신postmaster 로 전송됩니다 (보통mail 옵션). set 작업에서는 이 줄에 글로벌 옵션이 포함되어 있음을 Fetchmail에 지시합니다. 그런 다음 두 개의 이메일 서버가 지정되어 있고 하나는 POP3 을 사용하여 확인하고 다른 하나는 작동하는 프로토콜을 찾기 위해 다양한 프로토콜을 시도합니다. 두 명의 사용자가 두 번째 서버 옵션을 사용하여 확인되지만 모든 사용자에 대해 발견된 모든 이메일은 user1 의 메일 스풀으로 전송됩니다. 이렇게 하면 단일 MUA 박스에 표시되는 동안 여러 서버에서 여러 개의 RuntimeClass를 확인할 수 있습니다. 각 사용자의 특정 정보는 사용자 작업으로 시작됩니다.

참고

사용자는 .fetchmailrc 파일에 비밀번호를 둘 필요가 없습니다. 암호' 섹션'을 사용하여 을 생략하면 Fetchmail이 시작 시 암호를 요청합니다.

fetchmail에는 여러 글로벌, 서버 및 로컬 옵션이 있습니다. 이러한 옵션 중 대부분은 거의 사용되지 않거나 매우 구체적인 상황에만 적용됩니다. fetchmail 도움말 페이지는 각 옵션을 자세히 설명하지만 가장 일반적인 옵션은 다음 세 섹션에 나열되어 있습니다.

15.3.3.2. 글로벌 옵션

각 전역 옵션은 설정된 작업 후에 한 줄에 배치해야 합니다.

  • daemon - 데몬 모드를 지정합니다. 여기서 Fetchmail은 백그라운드에서 유지됩니다. 서버를 폴링하기 전에 초를 Fetchmail이 대기하는 시간(초)으로 바꿉니다.
  • Postmaster - 배달 문제 발생시 이메일을 보낼 로컬 사용자를 지정합니다.
  • Syslog - 오류 및 상태 메시지에 대한 로그 파일을 지정합니다. 기본적으로 /var/log/maillog 입니다.

15.3.3.3. 서버 옵션

폴링 또는 건너뛰기 후에 서버 옵션을 .fetchmailrc 의 자신의 줄에 배치해야 합니다.

  • auth auth-type - auth-type 을 사용할 인증 유형으로 바꿉니다. 기본적으로 암호 인증이 사용되지만 일부 프로토콜은 kerberos_v5,kerberos_v4, ssh 를 포함한 다른 유형의 인증을 지원합니다. 모든 인증 유형을 사용하는 경우, Fetchmail은 먼저 암호가 필요하지 않은 메서드를 시도한 다음 암호를 마스킹하는 방법 및 마지막으로 서버에 인증하기 위해 암호화되지 않은 암호를 전송하려고 시도합니다.
  • 간격 번호 - 구성된 모든 서버에서 이메일을 확인하는 횟수 마다 지정된 서버를 호출합니다. 이 옵션은 일반적으로 사용자가 메시지를 거의 수신하는 이메일 서버에 사용됩니다.
  • 포트 포트 번호 - 포트 번호를 포트 번호로 바꿉니다. 이 값은 지정된 프로토콜의 기본 포트 번호를 재정의합니다.
  • proto protocol - 서버에서 메시지를 확인할 때 사용하기 위해 pop3 또는1.8.0과 같은 프로토콜로 바꿉니다.
  • 시간 제한 시간 - 시간 초과 - 초를 서버 비활성 시간(초)으로 교체한 후 Fetchmail이 연결 시도 시 포기합니다. 이 값을 설정하지 않으면 기본값 300 초가 사용됩니다.

15.3.3.4. 사용자 옵션

사용자 옵션은 서버 옵션 아래에 또는 server 옵션과 동일한 행에 배치될 수 있습니다. 두 경우 모두 정의된 옵션은 사용자 옵션(아래 정의)을 따라야 합니다.

  • fetchAll - 이미 확인한 메시지를 포함하여 대기열의 모든 메시지를 다운로드하도록 Fetchmail 주문합니다. 기본적으로 Fetchmail은 새 메시지만 당깁니다.
  • fetchlimit number - 중지하기 전에 검색할 메시지 수로 번호를 바꿉니다.
  • flush - 새 메시지를 검색하기 전에 대기열에서 이전에 확인한 모든 메시지를 삭제합니다.
  • max-number-bytes 제한 - Fetchmail로 메시지를 검색할 때 허용되는 최대 크기(바이트)로 max-number-bytes를 바꿉니다. 이 옵션은 느린 네트워크 링크에 유용합니다. 큰 메시지가 다운로드하는 데 시간이 너무 오래 걸리는 경우 유용합니다.
  • 암호 ' - password 사용자의 암호로 바꿉니다.
  • 사전 연결 " - 사용자 메시지를 검색하기 전에 명령을 실행할 명령으로 교체하십시오.
  • postconnect " - 사용자 메시지를 검색한 후 실행할 명령으로 교체하십시오.
  • SSL - SSL 암호화를 활성화합니다. 작성 시 기본 작업은 SSL2,SSL3,SSL23,TLS1,TLS1.1TLS1.2 에서 사용 가능한 최상의 기능을 사용하는 것입니다. SSL2 는 더 이상 사용되지 않으며 POODLE로 인해 발생합니다. SSLv3 취약점 (CVE-2014-3566) SSLv3 을 사용해서는 안 됩니다. 그러나 TLS1 또는 최신 버전을 강제로 사용할 수 있는 방법은 없으므로 연결된 메일 서버가 SSLv2SSLv3사용하지 않도록 구성되어 있는지 확인합니다. 서버를 설정할 수 없는 SSLv2SSLv3 을 사용하도록 설정할 수 없는 stunnel 을 사용합니다.
  • sslproto - 허용된 SSL 또는 TLS 프로토콜을 정의합니다. 가능한 값은 SSL2,SSL3,SSL23TLS1 입니다. sslproto 가 생략되거나, 설정되지 않았거나, 잘못된 값으로 설정된 경우 기본값은 SSL23 입니다. 기본 작업은 SSLv2,SSLv3,TLSv1,TLS1.1TLS1.2 에서 최상의 기능을 사용하는 것입니다. SSL 또는 TLS의 다른 값을 설정하면 다른 모든 프로토콜이 비활성화됩니다. POODLE으로 인한 경우: SSLv3 취약점 (CVE-2014-3566), 이 옵션을 생략하거나 SSLv23 으로 설정하는 것이 좋습니다. SSLv2SSLv3. 서버를 설정할 수 없는 SSLv2SSLv3 을 사용하도록 설정할 수 없는 stunnel 을 사용합니다.
  • 사용자 "username" - username 을 Fetchmail에서 사용하는 사용자 이름으로 대체하여 메시지를 검색합니다. 이 옵션은 다른 모든 사용자 옵션보다 우선해야합니다.

15.3.3.5. 가져오기 이메일 명령 옵션

fetchmail 명령을 실행할 때 명령줄에서 사용되는 대부분의 Fetchmail 옵션은 .fetchmailrc 구성 옵션을 미러링합니다. 이러한 방식으로 Fetchmail은 구성 파일과 함께 또는 구성 파일 없이 사용될 수 있습니다. 이러한 옵션은 .fetchmailrc 파일에서 쉽게 남기기 때문에 대부분의 사용자가 명령줄에서 사용하지 않습니다.

특정 목적을 위해 다른 옵션을 사용하여 fetchmail 명령을 실행하는 것이 바람직한 경우가 있을 수 있습니다. 명령줄에 지정된 옵션에서 구성 파일 옵션을 재정의하므로 명령 옵션을 실행하여 오류가 발생하는 .fetchmailrc 설정을 일시적으로 덮어쓸 수 있습니다.

15.3.3.6. 정보 또는 디버깅 옵션

fetchmail 명령 이후에 사용되는 특정 옵션은 중요한 정보를 제공할 수 있습니다.

  • --configdump - .fetchmailrc 및 Fetchmail 기본값의 정보를 기반으로 가능한 모든 옵션을 표시합니다. 이 옵션을 사용할 때 모든 사용자에 대한 이메일이 검색되지 않습니다.
  • -s - 자동 모드로 Fetchmail을 실행하여 오류 이외의 모든 메시지를 fetchmail 명령 다음에 나타나지 않습니다.
  • -V - 자세한 정보 표시 모드로 Fetchmail을 실행하여 Fetchmail과 원격 이메일 서버 간의 모든 통신을 표시합니다.
  • -V - 자세한 버전 정보를 표시하고, 글로벌 옵션을 나열하고, 이메일 프로토콜 및 인증 방법을 포함하여 각 사용자와 함께 사용할 설정을 표시합니다. 이 옵션을 사용할 때 모든 사용자에 대한 이메일이 검색되지 않습니다.

15.3.3.7. 특수 옵션

이러한 옵션은 종종 .fetchmailrc 파일에 있는 기본값을 덮어쓰는 데 유용합니다.

  • -a - Fetchmail은 신규 또는 이전에 본 적이 있는지 여부에 관계없이 원격 이메일 서버에서 모든 메시지를 다운로드합니다. 기본적으로 Fetchmail은 새 메시지만 다운로드합니다.
  • -k - Fetchmail은 원격 이메일 서버에 메시지를 다운로드한 후 남겨둡니다. 이 옵션은 메시지를 다운로드한 후 삭제하는 기본 동작을 재정의합니다.
  • -L max-number-bytes - Fetchmail은 특정 크기에 대한 메시지를 다운로드하지 않고 원격 이메일 서버에 남겨둡니다.
  • --quit - Fetchmail 데몬 프로세스를 쿼리합니다.

더 많은 명령과 .fetchmailrc 옵션은 fetchmail 매뉴얼 페이지에서 찾을 수 있습니다.

15.3.4. MT( mail Transport Agent) 구성

MTA (mail Transport Agent )는 이메일을 보내는 데 중요합니다. DomainMapping 또는 Mutt 와 같은 MUA( 메일 사용자 에이전트 )는 이메일을 읽고 작성하는 데 사용됩니다. 사용자가 MUA에서 이메일을 보내면 메시지가 MTA로 전송되어 대상에 도달할 때까지 일련의 MTA를 통해 메시지를 보냅니다.

사용자가 시스템에서 이메일을 보내지 않더라도 일부 자동화된 작업 또는 시스템 프로그램은 mail 명령을 사용하여 로그 메시지가 포함된 이메일을 로컬 시스템의 root 사용자에게 보낼 수 있습니다.

Red Hat Enterprise Linux 7은 다음 두 가지 MTA를 제공합니다. redfish 및 Sendmail. 둘 다 설치된 경우 Postfix는 기본 MTA입니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.