8.5. 시스템이 전자메일을 사용하도록 설정하기

전자메일은 오늘날 많은 사람들의 삶에 중요한 위치를 차지하고 있습니다. 전자메일을 설정하는 옵션에는 여러가지가 있으며 제대로 설정해야 일부 데비안 응용프로그램들이 제대로 동작하므로, 여기서 기본적인 사항을 다루도록 하겠습니다.

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

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

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

그래픽 데스크탑에 대한 인기가 늘어남에 따라, 그놈의 에볼루션이나 KDE의 kmail 혹은 모질라의 thunderbird(데비안에서는 icedove를 사용합니다[11])같은 그래픽 전자메일 프로그램 사용이 늘어나고 있습니다. 이 프로그램에는 MUA, MTA, MDA의 기능이 합쳐져 있지만, 전통적인 리눅스 도구와 같이 사용할 수도 있습니다.

8.5.1. 기본 전자메일 설정

그래픽 메일 프로그램을 사용한다고 해도, 전통적인 MTA/MDA를 설치해서 올바르게 설정해 놓는 게 좋습니다. 그 이유는 시스템에서 동작하는 여러가지 유틸리티들이[12] 시스템 관리자에게 (혹시 발생할 수 있는) 문제점이나 변경 사항과 같이 중요한 정보를 보낼 때 MTA/MDA를 이용하기 때문입니다.

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

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

8.5.2. 시스템 밖으로 전자메일 보내기

앞에서 말한 것처럼 설치한 데비안 시스템은 시스템 내부의 전자메일만 처리하도록 설정되어 있고, 외부로 보내는 메일이나 외부에서 메일 받기는 설정되어 있지 않습니다.

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

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

하지만 이 경우에도 각각의 유틸리티들은 올바르게 전자메일을 보내도록 설정해야 할 수도 있습니다. 그러한 유틸리티의 하나가 reportbug로 데비안 꾸러미에 대한 버그 보고서를 보내는 기능을 하는 프로그램입니다. 기본값으로 exim4를 사용해 버그 보고를 보내도록 되어 있습니다.

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

8.5.3. Exim4 MTA 설정하기

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

# dpkg-reconfigure exim4-config

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

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

인터넷 사이트

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

스마트호스트에 의한 메일 보내기

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

많은 경우 스마트호스트는 인터넷 서비스 회사의 메일 서버를 말하니다. 전화접속 사용자의 경우 그렇습니다. 회사의 메일 서버일 수도 있고, 내부 네트워크의 다른 시스템일 수도 있습니다.

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

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

로컬 배달

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

지금 설정 안함

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

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

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



[11] 데비안에서 thunderbird의 이름을 icedove로 바꾼 이유는 라이선스 문제와 관련이 있습니다. 자세한 이야기는 이 안내서의 범위를 벗어납니다.

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

[13] root의 메일을 전달하는 부분은 /etc/aliases에 설정되어 있습니다. 물론 일반 사용자 계정을 만들지 않았다면 메일은 root 계정 자체에 배달됩니다.

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