본문 바로가기

백앤드/Linux

[Linux] 메일 서버 구축하기

반응형

집에 큰 서버를 두기에는 비용 감당이 어려우니, 저는 라즈베리파이를 가지고 심심할 때 건드리면서 이것저것 건드려보고 있곤합니다.

 

이번 포스팅에서는 라즈베리파이로 SMTP 메일서버를 구축하는 과정을 정말 간단하고 쉽게 알려드리려고합니다.

그러면 지금부터 따라가봅시다 ! 

 

1. 서비스 설치하기

sudo apt-get install sendmail sendmail-cf

설치 명령어를 입력하고 엔터를 누르면 이렇게 쭈루루룩,, 우리 라즈베리파이가 뭔가를 열심히 작업을 진행합니다.

우리는 라즈베리파이가 편하게 작업을 마칠 수 있도록 얌전히 기다려줍니다.

 

2. 서비스 확인하기

sudo systemctl status sendmail

 위 명령어를 통해서 설치된 메일서비스가 정상적으로 설치되었는지 확인합니다. 여기서 active (running)로 되어있는데, 메일서비스가 설치되자마자 자동으로 시작되었군요.

 메일 서버를 설정하기 위해서 아래 명령어를 통해 서비스를 종료해주도록 합니다.

sudo systemctl stop sendmail

 

3. 메일서버 설정하기

sudo cp /etc/mail/sendmail.mc /etc/mail/sendmail.mc.org
sudo mv /etc/mail/sendmail.cf /etc/mail/sendmail.cf.org

나중에 설정을 잘못건드려서 낭패 볼 일을 없애기 위해 원본파일을 사본을 생성하여 백업하여 둡니다.

 

아래 명령어를 통해서 사진과 같은 설정파일을 열어줍니다.

sudo vi /etc/mail/sendmail.mc

라즈베리파이 내부에서만 메일을 사용하려면 노란색 박스로 된 부분을 127.0.0.1 에서 변경하지 않습니다.

하지만, 외부 메일과 주고 받기 위함이라면 0.0.0.0 으로 변경하도록 합니다.

 

sudo m4 /etc/mail/sendmail.mc > ./sendmail.cf
sudo mv ./sendmail.cf /etc/mail

위 명령어를 통해서 설정파일을 생성합니다.

 

만약 pi 계정으로  "> /etc/mail/sendmail.cf" 명령을 수행할 경우 권한 오류가 발생할 수 있습니다.

권한 오류 발생하는 에러로그를 보지 않기 위해 우리는 아래 작업을 진행합니다.

sudo chown root:smmsp /etc/mail/sendmail.cf

 

4. 메일서버 서비스 실행하기

sudo systemctl start sendmail

 

5. 메일서버 테스트

echo -e "Subject: Terminal Email Send\n\nEmail Content line 1\nEmail Content line 2" > content

위 명령어를 통해서 메일의 제목 Subject와, 본문 내용을 입력해서 content 라는 변수에 저장합니다.

 

sendmail user@example.com < content

저장한 변수를 sendmail 모듈을 사용해서 user@example.com 으로 전송하면, 네이버나 구글등 대부분의 메일은 스팸메시지함으로 분류되어 전송되는 것을 확인할 수 있습니다.

반응형