Raspberry Pi

Raspberry Pi 3 메일서버(sendmail) 구축

LimeLee 2022. 7. 25. 19:37

1. Sendmail 설치

먼저, 아래 명령어를 통해 sendmail과 관련 패키지를 설치한다.

apt-get install sendmail sendmail-cf

 

설치 도중 "Creating SSL certificates for sendmail." 단계에서 설치가 멈춘다면, Ctrl+C로 설치를 중단한 뒤 아래 명령어를 실행한다.

cd /etc/mail/tls
sudo openssl dsaparam -out sendmail-common.prm 2048
sudo chown root:smmsp sendmail-common.prm
sudo chmod 0640 sendmail-common.prm
sudo dpkg --configure -a

https://askubuntu.com/questions/937666/ubuntu-16-04-command-line-sendmail-installation-hanged

 

Ubuntu 16.04 command line sendmail installation hanged

I was trying to install sendmail but it is hanging while trying to generate ssl certificates. I have canceled the installation process and later killed processes that was locking any new packages f...

askubuntu.com

 

위 명령어를 실행한 후 다시 설치를 시도하면, "Updating /etc/mail/aliases..." 단계에서 약간의 시간이 걸리지만 설치가 완료된다.

 

2. Sendmail 설정 파일 수정

설치가 완료되었으면, 외부에서 sendmail을 이용해 메일을 발신하려면 설정 파일을 수정해야 한다.

vi /etc/mail/sendmail.mc

 

다음과 같이 기존 설정을 변경한다:

DAEMON_OPTIONS(`Family=inet,  Name=MTA-v4, Port=smtp, Addr=127.0.0.1')dnl
DAEMON_OPTIONS(`Family=inet,  Name=MSP-v4, Port=submission, M=Ea, Addr=127.0.0.1')dnl
 

 

이 부분을 아래와 같이 수정한다:

DAEMON_OPTIONS(`Family=inet,  Name=MTA-v4, Port=smtp, Addr=0.0.0.0')dnl
DAEMON_OPTIONS(`Family=inet,  Name=MSP-v4, Port=submission, M=Ea, Addr=0.0.0.0')dnl
 
 
sendmail.mc 설정파일 수정
 

수정 후에는 m4 명령어를 사용해 sendmail.cf 파일을 생성한다:

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

 

3. hosts 파일 수정

hosts 파일에서 도메인을 추가한다:

vi /etc/hosts

 

필요한 도메인 정보를 추가해준다.

hosts 파일 수정

 

4. Sendmail 재시작

설정이 완료되었으면 sendmail을 재시작한다. 동작 상태와 에러 메시지를 확인하려면 status 명령어를 사용한다.

service sendmail restart
service sendmail status

 

5. 메일 발송 테스트

sendmail이 정상적으로 실행되었다면, telnet을 통해 테스트 메일을 발송할 수 있다:

telnet 127.0.0.1 25

helo localhost
mail from: test@localhostdomain
rcpt to: test@gmail.com
data
subject: Test Mail Send
hello, world!
sendmail
.

 

메일 발송

 

6. 메일 확인

메일 수신자의 메일함을 확인하면, 정상적으로 메일이 발송된 것을 확인할 수 있다. 단, 스팸메일 처리 된다.

 

해당 글에서 다루진 않지만 스팸메일로 처리되고 싶지 않으면 SPF, DMARC, DKIM 등의 설정을 따로 해주어야 한다.

메일확인