mutt와 같은 메일 클라이언트를 로컬 터미널에서 사용하고 싶지만 메일 서버를 운영하고 싶지는 않은 경우가 있을 것입니다. 이 글에서는 nullmailer
를 써서 메일 서버 없이 로컬 메일 환경을 구성하는 방법을 설명합니다.
데비안 위키에 있는 영어로 된 문서도 참고할 수 있습니다.
nullmailer
는 sendmail(1)
바이너리를 제공할 뿐 SMTP 포트인 포트 25를 포함해서 어떤 포트도 바인딩하지 않습니다. 실제로 메일을 보내려면 원격 메일 서버를 설정해야 합니다. 여기서는 구글 Gmail을 예제로 설명하겠습니다.
우선 패키지를 설치합니다. 데비안 GNU/리눅스를 예로 들겠습니다.
$ sudo apt install nullmailer
구글 계정에 2단계 인증을 사용하고 있다면(사용을 권장합니다) 메일을 보낼 때마다 확인할 수는 없으므로 앱 비밀번호를 만들어야 합니다.
원격 메일 서버는 /etc/nullmailer/remotes
에 설정합니다. 비밀번호가 포함되어 있으므로 관리자 권한이 필요합니다.
$ sudo vi /etc/nullmailer/remotes
다음과 같이 하면 됩니다.
smtp.gmail.com smtp tls user=username pass=password
smtp.gmail.com
은 메일 서버 주소, smtp
는 프로토콜입니다. (nullmailer
는 다른 프로토콜도 지원합니다. nullmailer-send(8)
를 참고하세요.) tls
는 암호화를 사용한다는 뜻이며 Gmail의 경우 필수입니다. 비밀번호에 빈칸이 있는 경우 pass='password with space'
와 같이 홑따옴표로 싸면 됩니다.
nullmailer
를 재시작합니다.
$ sudo systemctl restart nullmailer
테스트 메일을 보내보고 로그를 확인합니다. smtp: Succeeded
등이 보이면 잘 된 것입니다.
$ sudo systemctl status nullmailer