리눅스 터미널에서 이메일을 주고받는 기능은 셸 스크립트로 메일 발송을 자동화할 때 특히 유용합니다. Thunderbird나 Evolution 같은 GUI 이메일 클라이언트도 훌륭한 도구지만, 때로는 불필요하게 무겁게 느껴질 수 있습니다. 명령줄 환경에 익숙하다면 리눅스 터미널을 그대로 활용해 이메일을 관리하는 편이 훨씬 효율적입니다.
리눅스에서는 Gmail을 비롯한 다양한 이메일 계정을 터미널에서 직접 연결해 메일함에 접근하고, 메일을 보내고 답장할 수 있습니다. 그러려면 먼저 Mutt라는 텍스트 기반 이메일 클라이언트를 설정해야 합니다. 한 번만 제대로 구성해 두면 이후 메일 관리가 한결 수월해집니다.
Mutt란 무엇인가?
Mutt는 SMTP(Simple Mail Transfer Protocol)를 기반으로 호스트 간에 메일을 주고받는 오픈소스 텍스트 기반 이메일 클라이언트입니다. 몇 가지 명령어만 입력하면 간단히 설치할 수 있으며, 이후 Gmail 메일함도 손쉽게 연동할 수 있습니다.
Mutt의 주요 기능
본격적으로 시작하기 전에, Mutt가 리눅스 사용자들에게 사랑받는 이유를 살펴보겠습니다. 다음과 같은 기능들이 Mutt를 메일 관리 도구로서 매력적으로 만듭니다.
- 설치와 설정이 간단합니다.
- 명령줄에서 바로 첨부 파일 한 개 또는 여러 개를 포함한 메일을 보낼 수 있습니다.
- CC(참조)와 BCC(숨은 참조) 수신자에게 메일을 보낼 수 있습니다.
- 메시지 스레딩(대화별 묶음 보기)을 완벽하게 지원합니다.
- 메일링 리스트 기능을 효과적으로 활용할 수 있습니다.
- mbox, maildir, MMDF, MH 등 다양한 메일함 형식을 지원합니다.
- 20개 이상의 언어로 제공됩니다.
- DSN(Delivery Status Notification, 전송 상태 알림) 기능을 지원합니다.
리눅스에 Mutt 설치하기
Mutt는 리눅스 기본 패키지가 아니므로 대부분의 배포판에 미리 설치되어 있지 않습니다. 패키지 관리자를 통해 직접 설치해야 합니다.
Ubuntu 및 Debian에서는 apt를 사용합니다.
sudo apt-get install mutt
RHEL/CentOS에서는 YUM으로 설치할 수 있습니다.
sudo yum install mutt
Fedora에서는 dnf를 사용합니다.
sudo dnf install mutt
Arch 계열 배포판에서는 Pacman으로 설치합니다.
sudo pacman -S mutt
리눅스에서 Mutt 설정하기
설치 후 첫 번째 설정 단계는 메일, 헤더, 인증서를 저장할 디렉터리를 만드는 것입니다. 아래 명령어를 하나씩 실행하세요.
mkdir -p ~/.mutt/cache/headers
mkdir ~/.mutt/cache/bodies
touch ~/.mutt/certificates
touch 명령어로 Mutt 설정 파일을 생성합니다.
touch ~/.mutt/muttrc
선호하는 텍스트 편집기로 muttrc 파일을 엽니다.
sudo nano ~/.mutt/muttrc
편집기가 열리면 받는 메일(IMAP)과 보내는 메일(SMTP) 정보를 입력해 메일함 설정을 완성합니다.
설정 예시는 다음과 같습니다.
set from = "username@gmail.com"
set realname = "First Last"
# IMAP settings
set imap_user = "username@gmail.com"
set imap_pass = "<mailbox password>"
# SMTP settings
set smtp_url = "smtps://username@smtp.gmail.com"
set smtp_pass = "<mailbox password>"
# Remote Gmail folders
set folder = "imaps://imap.gmail.com/"
set spoolfile = "+INBOX"
set postponed = "+[Gmail]/Drafts"
set record = "+[Gmail]/Sent Mail"
set trash = "+[Gmail]/Trash"
위 예제는 Gmail 계정을 Mutt로 설정하는 방법을 보여줍니다. username, First, Last 부분을 각각 본인의 이메일 아이디, 이름, 성으로 바꾸어야 합니다.
메일 설정 명령어 해설
- from: 보내는 사람의 이메일 주소
- realname: 메일에 표시될 본인의 이름
- imap_user: 본인의 이메일 주소
- imap_pass: 이메일 비밀번호. 메일함에 본인 외 접근자가 없다고 확신할 때만 저장하는 것이 안전합니다.
- smtp_url: 메일 발송에 사용할 서버 URL. 앞부분(smtps://)이 전송 방식을 정의합니다.
- smtp_pass: 메일함 비밀번호
- folder: 원격 메일함의 위치
- spoolfile: 새 메일이 도착하는 폴더(보통 INBOX)
- postponed: 임시 저장된 메일(초안)을 보관하는 폴더
- record: 보낸 메일이 저장되는 폴더
- trash: 삭제된 메일이 이동하는 폴더
Gmail의 IMAP 및 SMTP 설정값
일반적으로 메일함의 IMAP·SMTP 포트 번호는 거의 동일하게 유지되지만, 설정을 입력하기 전에 본인의 메일함 설정을 직접 확인하는 것이 가장 확실합니다.
Gmail 사용자를 위한 참고용 메일 서버 설정은 다음과 같습니다.
여기까지 모든 설정을 마쳤다면, 이제 Mutt를 실행해 터미널 안에서 펼쳐지는 메일함의 세계를 확인할 차례입니다.
리눅스에서 Mutt 사용하기
Mutt로 메일을 주고받으려면 먼저 프로그램을 실행해야 합니다. 터미널을 열고 mutt라고 입력하세요.
mutt
새 메일을 작성하려면 터미널에서 m 키를 누릅니다. Mutt가 수신자 이메일 주소, 제목, 본문을 차례로 물어봅니다. 필요하다면 파일을 첨부할 수도 있습니다. 모든 내용을 입력한 뒤 y 키를 누르면 메일이 발송됩니다.
1. 제목과 본문이 포함된 메일 보내기
-s 옵션을 사용하면 메일 제목을 지정할 수 있습니다.
mutt -s "Testing Email from mutt" winibhalla234@gmail.com
2. echo와 파이프(|)로 본문 전달하기
echo 명령어를 Mutt와 함께 사용하면 메일 본문을 한 줄로 전달할 수 있습니다.
echo "Body Message" | mutt -s "Testing Email from mutt" winibhalla1234@gmail.com
3. 첨부 파일이 있는 메일 보내기
파일을 첨부하려면 명령어 끝에 파일 경로를 지정합니다.
echo "Body Message" | mutt -s "Testing Email from mutt" winibhalla645@gmail.com test.txt
여러 파일을 첨부하려면 파일 이름을 공백으로 구분해 나열하거나, -a 옵션을 반복해서 사용합니다.
echo "Body Message" | mutt -s "Testing Email from mutt" winibhalla543@gmail.com -a test.tar.gz -a test2.tar.gz
4. 여러 수신자에게 메일 보내기
마찬가지로 여러 이메일 주소를 나열해 한 번에 메일을 보낼 수 있습니다.
mutt -s "Testing Email from mutt" demo1@muo.com, demo2@muo.com, demo3@muo.com
5. CC 및 BCC 수신자 추가하기
-c 옵션은 참조(CC), -b 옵션은 숨은 참조(BCC) 수신자의 이메일 주소를 지정합니다.
mutt -s "Subject of mail" -c <CC address> -b <BCC address> <recipient address>
아래 예제에서는 winibhalla533@gmail.com이 받는 사람(To) 주소로 지정되고, winibhalla123@gmail.com에는 참조(CC), winibhalla234@gmail.com에는 숨은 참조(BCC)로 메일이 전송됩니다.
mutt -s "Test Email" -c winibhalla123@gmail.com -b winibhalla234@gmail.com winibhalla533@gmail.com
6. 명령줄 도움말 보기
사용법이 궁금하거나 진행이 막힐 때는 -h 옵션으로 Mutt의 도움말을 확인할 수 있습니다.
mutt -h
Mutt 이메일 인터페이스 살펴보기
인터페이스 창 최상단의 메뉴바를 통해 여러 탭 사이를 이동할 수 있습니다. 단축키 목록은 그 바로 아래에 표시되며, 가운데 영역에서 메시지를 확인할 수 있습니다.
아쉽게도 Mutt에는 내장된 메일 작성기가 없기 때문에, Nano, Vim, Emacs 같은 텍스트 편집기를 사용해 본문을 작성해야 합니다.
Mutt에서 사용할 수 있는 주요 명령어는 다음과 같습니다.
- m: 새 메일 작성
- q: 종료
- d: 삭제
- r: 답장
- y: 보내기
- i: 나가기
Mutt의 특별한 점은 무엇일까?
Mutt는 오픈소스 패키지로, 가볍고 목적에 충실하며 실제로 일을 해내는 도구입니다. 빠른 처리 속도와 뛰어난 오류 처리 능력을 갖추고 있지만, 이메일 내 이미지 표시에는 다소 아쉬움이 남습니다.
텍스트 형식으로 빠른 결과를 반환하도록 설계되었기 때문에, 이미지가 포함된 메일에는 적합하지 않다고 느끼는 사용자도 있습니다. 그럼에도 불구하고 리눅스에서 명령줄 기반 이메일 클라이언트를 찾고 있다면 Mutt가 최우선 선택이 될 만합니다.