Server/Ubuntu

[Ubuntu] Ubuntu 22.04.1 LTS에 메일 서버 구축

aeeazip 2023. 2. 23. 02:34

1. 메일서버(SendMail)에 대하여


 

SMTP(Smiple Mail Transfer Protocol), TCP 25

메일을 주고받을 때 사용하는 프로토콜 (클라이언트 ↔ 서버)

 

POP3(Post Office Protocol version 3), TCP 110

메일 서버에 수신된 메일을 클라이언트로 가져올 때 사용 (클라이언트에만 메일 저장)

 

IMAP(Internet Mail Access Protocol), TCP 143

메일 서버에 수신된 메일을 클라이언트로 가져올 때 사용 (클라이언트에만 메일 저장)

 

 

 

 

 

2. SENDMAIL 설치


root@seven: ~$ sudo su
(비밀번호 입력)

# apt-get update
# apt-get upgrade
# apt-get install sendmail

root@seven: ~$ vi /etc/mail/sendmail.mc

 

sendmail 패키지를 다운받고 초기 설정을 위해 sendmail.mc 파일 안으로 들어간다.

 

제일 아래에서 두 번째, 네 번째 줄의 DAEMON_OPTIONS를 변경한다. 

우리는 네이버 메일과 통신할 예정이기 때문에 Addr을 0.0.0.0으로 변경해서 외부와 메일을 주고받을 수 있게 설정해주었다. 

 

 

 

 

 

3. SENDMAIL 동작


root@seven ~$: systemctl start sendmail
root@seven ~$: systemctl status sendmail
root@seven ~$: netstat -tnlp

 

 

sendmail 데몬을 실행시키고 실행 상태를 확인했을 때 active(running)이 출력되면 정상적으로 실행됐음을 의미한다. 

추가적으로 netstat 명령어를 사용해서 SMTP 포트의 state가 리스닝 상태인지 확인해준다.

 

 

 

 

 

4. 로컬 메일 서버로 테스트하기 (네이버로 메일 보내기)


테스트의 경우 이전에 설치했던 텔넷을 활용해서 메일 서버에 접속한다.

root@seven ~$: telnet localhost 25
Connected to localhost .

 

 

mail from: 발신자 주소 (계정명@mail.vm.계정명.com)

rcpt to: 수신자 주소

data: 메일 제목과 내용 (메일 정보를 의미)

subject: 메일제목, 작성 시 필수로 콜론 뒤에 한 칸을 띄워줘야 함

(본문 작성)

.(본문 작성 완료 의미)

quit : 메일 작성 완료

 

 

 

 

 

5. 수신된 메일 확인하기


 

네이버 메일로 전송한 경우, 스팸메일함에서 이를 확인할 수 있다.

(교수님께서 원래 보내지지 않는게 맞는데 네이버 멜 보안이 허술하다고 하셨당 ㅎㅎㅎ)

 

 

보낸 사람 주소는 mail from 에 적어주었던 seven@mail.vm.seven.com이 잘 적혀 있으며

This is Test라는 내용도 잘 출력되는 것을 확인할 수 있다.