소개
매일 우리는 수많은 이메일을 받지만, 이메일이 어떻게 보내지고 수신되는지에 대한 기본적인 메커니즘을 종종 알지 못합니다. 메일 서버를 설정하는 것은 어렵게 보일 수 있지만, 적절한 환경만 갖춰진다면 충분히 가능합니다. 이 랩은 메일 서버의 작동 방식을 이해할 뿐만 아니라 직접 구성할 수 있는 실질적인 경험을 제공합니다. 기술의 실용적인 측면에 몰입하여 디지털 커뮤니케이션 기술을 향상시키세요!
🎯 과제
이 프로젝트에서는 다음을 배우게 됩니다:
- Postfix 메일 서버를 설치하고 구성하는 방법
- Vim 을 사용하여 Postfix 구성 파일을 편집하는 방법
- 로컬 사용자를 생성하고 이메일 라우팅을 위한 이메일 주소 매핑을 설정하는 방법
- 테스트 이메일을 보내고 전달 여부를 확인하는 방법
🏆 성과
이 프로젝트를 완료하면 다음을 수행할 수 있습니다:
- Postfix 를 사용하여 메일 서버를 설치하고 구성합니다.
- 구성 파일을 편집하여 메일 서버 설정을 사용자 정의합니다.
- 효율적인 이메일 라우팅을 위해 로컬 사용자를 생성하고 이메일 주소 매핑을 설정합니다.
- 이메일을 보내고 받음으로써 서버의 기능을 테스트합니다.
Postfix 설치
이 단계에서는 이메일을 보내고 받는 데 필수적인 일반적인 메일 서버 소프트웨어에 익숙해질 것입니다. 이 랩에서는 효율성과 모듈식 설계로 알려진 현대적인 MTA(Mail Transfer Agent) 인 Postfix 에 집중할 것입니다. Postfix 는 지속적으로 활발하게 개발되고 있어 트래픽이 많은 환경에 적합합니다.
터미널을 열고 다음 명령으로 Postfix 를 설치합니다:
sudo apt-get update
sudo apt-get install postfix
설치하는 동안 서버 유형으로 우리의 서버 구성 요구 사항에 맞는 Internet Site를 선택합니다. 메시지가 표시되면 도메인 이름을 labex.io로 설정합니다.

Postfix 구성
이 단계에서는 Linux 환경에서 널리 사용되는 텍스트 편집기인 Vim 을 사용하여 Postfix 구성 파일을 편집합니다. Vim 은 초보자에게 복잡할 수 있으므로 Postfix 구성을 수정하려면 다음 지침을 주의 깊게 따르십시오.
구성 파일 열기
터미널에서 다음 명령을 입력하여 Vim 으로 main.cf 파일을 엽니다:
sudo vim /etc/postfix/main.cf
삽입 모드 진입
기본적으로 Vim 은 파일을 탐색할 수 있지만 텍스트를 편집할 수 없는 "normal" 모드로 시작합니다. 키보드에서 i 키를 눌러 "insert" 모드로 들어가 파일을 변경할 수 있습니다.
필요한 변경 사항 적용
화살표 키를 사용하여 변경해야 하는 줄로 이동합니다. 다음은 변경해야 할 사항입니다:
myhostname으로 시작하는 줄을 찾아myhostname = labex.io로 변경합니다.alias_maps에 대한 줄을alias_maps = hash:/etc/postfix/virtual로 수정합니다.
선택적으로, 이 서버를 사용할 수 있는 호스트를 정의하는 mynetworks 섹션을 설정할 수도 있습니다. 여기서는 기본 로컬 주소를 사용합니다.

저장 및 종료
- 필요한 변경 사항을 적용한 후
Esc키를 눌러 삽입 모드를 종료하고 normal 모드로 돌아갑니다. - 변경 사항을 저장하고 Vim 을 종료하려면
:wq(write and quit) 를 입력하고Enter키를 누릅니다. - 변경 사항을 저장하지 않고 종료하려면
:q!를 입력하고Enter키를 누릅니다.
로컬 사용자 추가
홈 디렉토리를 가진 'master'라는 사용자를 생성하고 비밀번호를 설정합니다.
sudo useradd -m -d /home/master master
sudo passwd master
## Set the password to "123456"
이 명령은 master 라는 사용자를 생성하며, 여기서 -d 및 -m 옵션은 로그인 이름 master 에 대한 홈 디렉토리 /usr/master를 생성하는 데 사용됩니다 (기본 사용자 홈 디렉토리는 /usr 상위 디렉토리에 있습니다).
이메일 주소 매핑 편집
Postfix 가 이메일을 라우팅하는 데 사용할 이메일 주소 매핑 파일을 준비합니다.
echo "master@labex.io master" | sudo tee -a /etc/postfix/virtual
이 명령은 /etc/postfix/virtual 파일에 새 줄을 추가하여 이메일 주소 master@labex.io를 로컬 사용자 master 에 매핑합니다. Postfix 는 이 파일을 사용하여 이메일을 로컬 사용자로 라우팅하는 방법을 결정합니다.
매핑 적용
다음 명령을 호출하여 매핑을 구현할 수 있습니다.
sudo postmap /etc/postfix/virtual
postmap 명령은 virtual 파일에 적용된 변경 사항을 처리하여 Postfix 가 이메일을 라우팅하는 데 사용하는 데이터베이스를 업데이트합니다.
그런 다음 수정을 완료하기 위해 Postfix 를 다시 시작합니다.
sudo service postfix restart
Postfix 를 다시 시작하면 모든 구성 변경 사항이 즉시 적용됩니다.
테스트 이메일 전송
mailutils를 설치하고 다른 사용자로부터 'master'에게 이메일을 보냅니다.
sudo apt update
sudo apt-get install mailutils
mailutils는 명령줄에서 이메일을 보내는 데 사용되는 mail 명령을 제공하기 위해 설치됩니다.
echo "Hello, this is a test email." | mail -s "Test Email" master@labex.io
echo 명령은 테스트 메시지를 mail 로 파이프하여 "Test Email" 제목으로 master@labex.io로 이메일을 보냅니다. 이 단계는 서버가 이메일을 수신할 수 있는지 테스트합니다.
이메일 확인
그런 다음 master 사용자로 전환하여 이메일을 확인합니다.
## Enter the password "123456" we set before
su master
## Check the email
mail
이 명령은 master 사용자로 전환하고 터미널에서 메일 클라이언트를 엽니다. 이를 통해 받은 편지함을 보고 테스트 이메일이 수신되었는지 확인할 수 있으며, Postfix 가 수신 메일을 처리하도록 올바르게 구성되었음을 보여줍니다.

Enter 키를 눌러 이메일의 전체 내용을 확인합니다.

요약
이 랩에서는 설치부터 테스트 이메일 전송까지 Linux 에서 Postfix 메일 서버를 설정하는 과정을 안내했습니다. 메일 서버의 구성 및 관리를 이해하고 구현함으로써 이메일 통신의 백엔드를 마스터하는 데 중요한 단계를 밟았습니다. 이러한 지식은 기술적 기술을 향상시킬 뿐만 아니라 네트워크 및 서버 관리에 대한 추가 탐구를 위한 기반을 제공합니다.



