8.5. 시스템에 전자메일 준비하기

오늘날, 전자 메일은 많은 사람의 삶의 중요한 일부가 되어 있습니다. 전자 메일을 사용할 수 있도록 설정하기 전에 전자메일을 설정을 선택하고 정확하게 설정되었는지가 중요합니다. 데비안 GNU/리눅스 유틸리티에서 기본적인 사항을 설명합니다.

전자메일 시스템은 크게 세 가지로 구성됩니다. 우선 사용자가 실제로 전자메일을 작성하고 읽는데 사용하는 Mail User Agent(MUA)가 있습니다. 그리고 한 컴퓨터에서 다른 컴퓨터로 전자메일을 전달하는 Mail Transfer Agent(MTA)가 있습니다. 마지막으로 받은 전자메일을 사용자의 편지함으로 전달하는 일을 하는 Mail Delivery Agent(MDA)가 있습니다.

이 세가지 기능은 각각 다른 프로그램에서 담당할 수도 있고, 한 개나 두 개 프로그램에서 담당할 수도 있습니다. 또한 전자메일 종류별로 여러가지 프로그램이 담당할 수도 있습니다.

리눅스 및 유닉스 시스템에서는 전통적으로 mutt가 아주 널리 쓰이는 MUA입니다. 전통적인 리눅스 프로그램 대부분과 마찬가지로 텍스트 기반 프로그램입니다. mutt는 보통 exim이나 sendmail을 MTA로 쓰고 procmail을 MDA로 씁니다.

그래픽 데스크톱 시스템의 증가와 인기로, GNOME의 evolution, KDE의 kmail 또는 Mozilla의 thunderbird (데비안 GNU/리눅스에서는 icedove[15]로 사용 가능) 같은 그래픽 전자 메일 프로그램 사용이 더 일반적으로 되어 있습니다. 이 프로그램에는 MUA, MTA 및 MDA의 기능이 결합되어 있지만, 기존의 Linux 도구와 —함께 사용할 수— 있습니다.

8.5.1. 기본 전자메일 설정

그래픽 메일 프로그램을 사용한다고 해도, 데비안 GNU/리눅스 GNU/Linux 시스템 전통적인 MTA/MDA를 설치하고 정확하게 설정하는 것은 중요한 일입니다. 시스템에서 동작하는 여러가지 유틸리티 [16] 시스템 관리자에게 문제(또는 잠재적인 문제)와 바뀐 사항을 알릴 때 전자 우편으로 중요한 알림을 보낼 수 있기 때문입니다.

이러한 이유때문에 exim4mutt 패키지는 기본으로 설치합니다. (설치할 때 표준 태스크 선택을 해제한다면 설치하지 않습니다.) exim4는 MTA/MDA가 결합된 프로그램으로 작지만 매우 유연합니다. 기본값으로 시스템의 로컬 메일만 처리하도록 설정되어 있고 시스템 관리자에게(루트 계정) 보내는 메일은 설치할 때 만드는 사용자 계정으로 배달합니다[17].

시스템 전자메일을 배달할 때 그 메일은 /var/mail/계정_이름 파일 뒤에 추가됩니다. 해당 전자메일은 mutt로 읽을 수 있습니다.

8.5.2. 시스템 외부에 전자메일 보내기

앞에서 말한 것처럼, 설치한 데비안 GNU/리눅스 시스템은 시스템 내부의 전자 메일을 처리하도록 설정되어 있고, 타인에게 메일을 보내거나 외부에서 메일을 받도록 설정되지 않습니다.

exim4에서 외부 전자메일을 처리하도록 하려면, 다음의 기초 설정 옵션을 참고하십시오. 테스트 메일을 올바르게 보내고 받는 지 확인하십시오.

그래픽 메일 프로그램을 사용하고 여러분의 인터넷 서비스 회사 혹은 여러분의 회사의 메일 서버를 사용한다면, 외부 전자메일을 처리하려고 exim4를 설정할 필요가 전혀 없습니다. 사용하려는 그래픽 메일 프로그램을 설정해서 전자메일을 보내고 받는 데 이용할 서버를 올바르게 설정하십시오. (이 설정 방법은 이 안내서의 범위를 벗어납니다.)

그러나, 그 경우에는 올바르게 전자 메일을 보낼 수 있도록 각 유틸리티를 설정해야 할지도 모릅니다. 그러한 유틸리티 하나는 데비안 GNU/리눅스 패키지에 대한 버그 보고서를 보내는 기능을 하는 프로그램인 reportbug가 있습니다. 기본적으로 버그 리포트를 제출하려면 exim4를 사용할 수 있습니다.

reportbug가 외부 메일 서버를 사용하도록 설정하려면, reportbug --configure 명령을 실행해서 MTA가 있는 지 여부를 묻는 질문에 no라고 답하십시오. 그러면 그 다음에 버그 보고를 보낼 때 사용할 SMTP 서버를 입력할 수 있습니다.

8.5.3. Exim4 MTA 설정하기

시스템에서 외부 전자메일까지 처리하게 만드려면, exim4 패키지를 다시 설정해야 합니다[18]:

# dpkg-reconfigure exim4-config

명령어를 실행하면(루트 권한으로), 설정 파일을 작은 파일로 나눌 지 여부를 물어봅니다. 잘 모르겠으면 기본 옵션을 선택하십시오.

그 다음에 자주 사용하는 여러 가지 전자메일 시나리오를 표시합니다. 필요한 사항에 가장 가까운 시나리오를 선택하십시오.

인터넷 사이트

시스템이 네트워크에 연결되어 있고 메일은 SMTP를 사용해 직접 보내고 받습니다. 다음 화면에서 시스템의 메일 이름이나 사용할 도메인의 목록 등 기본적인 질문을 물어봅니다.

스마트호스트가 메일 보내기

이 시나리오에서는 다른 컴퓨터를 통해 메일을 보냅니다. 그 다른 컴퓨터를 스마트호스트라고 하고, 메일을 목적지에 보내는 역할을 담당합니다. 스마트호스트는 보통 받은 메일을 저장해 놓고 있으므로, 여러분의 컴퓨터를 계속 연결해 놓지 않아도 됩니다. 메일을 받을 때는 fetchmail과 같은 프로그램으로 가져올 수도 있습니다.

보통 스마트호스트는 인터넷 서비스 회사의 메일 서버를 말합니다. 전화 접속 사용자의 경우에는 분명히 인터넷 서비스 회사의 서버를 말합니다. 스마트호스트는 회사의 메일 서버가 될 수도 있고, 내부 네트워크에 있는 다른 시스템이 될 수도 있습니다.

스마트호스트가 메일을 보내고, 로컬 메일 없음

이 옵션은 앞의 옵션과 같지만 로컬 전자메일 도메인에 대한 메일을 처리하지 않습니다. 시스템 내부의 메일은(예를 들어 시스템 관리자에게 보내는 메일은) 계속 처리합니다.

로컬 배달

시스템이 기본값으로 이렇게 설정되어 있습니다.

지금 설정 안함

무슨 일을 하는 지 확실히 알고 있는 경우에만 선택합니다. 이 옵션을 사용하면 메일 시스템을 설정되지 않은 상태로 남겨 놓습니다. 설정하지 않으면 메일을 보내거나 받을 수 없을 뿐만아니라 시스템 유틸리티가 보내는 중요한 메시지를 놓칠 수 있습니다.

이 시나리오가 모두 맞지 않거나, 아니면 좀 더 세밀한 설정을 하고 싶다면, 설치를 다 마친 다음에 /etc/exim4 디렉터리 아래의 설정 파일을 설정할 수 있습니다. exim4에 대한 좀 더 자세한 정보는 /usr/share/doc/exim4에 들어 있습니다. README.Debian.gz 파일에 exim4에 설정에 대한 더 자세한 정보가 들어 있고 어디에서 더 자세한 문서를 찾을 수 있는 지 쓰여 있습니다.

공식적인 도메인 이름이 없을 때 인터넷으로 직접 메일을 보내면 받는 서버의 스팸 방지 장치때문에 메일이 거부될 수도 있습니다. ISP의 메일 서버를 사용하는 게 좋습니다. 정말로 메일을 직접 보내고 싶다면, 기본으로 만드는 전자메일 주소가 아닌 다른 주소를 사용하십시오. /etc/email-addresses에 한 줄 추가하면 전자메일 주소를 바꿀 수 있습니다.



[15] thunderbird가 데비안 GNU/리눅스에서 icedove로 개명된 이유는 라이선스 문제와 관계가 있는데 자세한 내용은이 설명서에서 다루지 없습니다.

[16] 예를 들어: cron, quota, logcheck, aide, …

[17] 루트 메일을 전달하는 계정은 /etc/aliases에 설정되어 있습니다. 물론 일반 사용자 계정을 만들지 않았다면 메일은 루트 계정 자체에 배달합니다.

[18] 물론 exim4를 지우고 다른 MTA/MDA로 바꿔 버릴 수도 있습니다.