- 서버 방화벽 구성
 - 패키지 설치
 - 사용자 생성
 - 기본 설정 테스트
 - 포스트픽스를 Maildir 스타일 메일함 사용하도록 구성
 - Courier IMAP 서버 설치
 - 인터넷에서 이메일 수신하도록 포스트픽스 구성
 - 최종 설정 테스트
 - 완료
 
수신 이메일을 위한 포스트픽스 설정
이 문서는 Ubuntu에서 IMAP 인증이 포함된 기본 포스트픽스 메일 서버 설정 단계를 안내합니다. 수신 이메일과 함께 사용하도록 설계되었습니다.
지시 사항은 이메일 주소 incoming@gitlab.example.com 및 호스트 gitlab.example.com의 사용자 이름인 incoming을 사용한다고 가정합니다. 예시 코드 스니펫을 실행할 때 실제 호스트로 변경하는 것을 잊지 마십시오.
서버 방화벽 구성
- 서버에서 SMTP를 통해 이메일을 보낼 수 있도록 25번 포트를 엽니다.
 - 메일 서버가 GitLab을 실행하는 서버와 다른 경우, IMAP를 통해 서버에서 이메일을 읽을 수 있도록 143번 포트를 엽니다.
 
패키지 설치
- 
이미 설치되어 있지 않은 경우
postfix패키지를 설치합니다:sudo apt-get install postfix환경에 대해 묻힐 때 ‘인터넷 사이트’를 선택하십시오. 호스트 이름을 확인하고
gitlab.example.com과 일치하는지 확인하십시오. - 
mailutils패키지를 설치합니다.sudo apt-get install mailutils 
사용자 생성
- 
수신 이메일용 사용자를 만듭니다.
sudo useradd -m -s /bin/bash incoming - 
이 사용자의 암호를 설정합니다.
sudo passwd incoming나중에 필요할 것이므로 잊지 말아야 합니다.
 
기본 설정 테스트
- 
로컬 SMTP 서버에 연결합니다.
telnet localhost 25다음과 같이 프롬프트가 표시되어야 합니다:
Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 gitlab.example.com ESMTP Postfix (Ubuntu)Connection refused오류가 발생하는 경우,postfix가 실행 중인지 확인하십시오:sudo postfix status실행 중이 아니라면 시작하십시오:
sudo postfix start - 
로컬 SMTP 서버에 테스트용 이메일을 보냅니다. 다음을 SMTP 프롬프트에 입력합니다:
ehlo localhost mail from: root@localhost rcpt to: incoming@localhost data Subject: Re: Some issue Sounds good! . quit.는 한 줄에 함께 써야 합니다.rcpt to: incoming@localhost입력 후 오류가 발생하는 경우, Postfixmy_network구성이 올바르지 않습니다. 오류는 ‘Temporary lookup failure’라고 할 것입니다. 인터넷에서 이메일을 받도록 포스트픽스 구성을 참조하십시오. - 
incoming사용자가 이메일을 받았는지 확인합니다.su - incoming mail다음과 같은 출력을 볼 수 있어야 합니다:
"/var/mail/incoming": 1 message 1 unread >U 1 root@localhost 59/2842 Re: Some issue메일 앱을 종료합니다:
q - 
incoming계정에서 로그아웃하고root로 돌아갑니다:logout 
포스트픽스를 Maildir 스타일 메일함 사용하도록 구성
나중에 IMAP 인증을 추가하기 위해 나중에 설치할 Courier는 메일함에 mbox 대신 Maildir 형식을 요구합니다.
- 
포스트픽스를 Maildir 스타일 메일함 사용하도록 구성합니다:
sudo postconf -e "home_mailbox = Maildir/" - 
포스트픽스를 재시작합니다:
sudo /etc/init.d/postfix restart - 
새로운 설정을 테스트합니다:
- _기본 설정 테스트_의 단계 1과 2를 따릅니다.
 - 
incoming사용자가 이메일을 받았는지 확인합니다.su - incoming MAIL=/home/incoming/Maildir mail다음과 같은 출력을 볼 수 있어야 합니다:
"/home/incoming/Maildir": 1 message 1 unread >U 1 root@localhost 59/2842 Re: Some issue메일 앱을 종료합니다:
q 
만약
mail이Maildir: Is a directory오류를 반환하면, 사용하는mail버전이 Maildir 스타일 메일함을 지원하지 않습니다.sudo apt-get install heirloom-mailx를 실행하여heirloom-mailx를 설치한 다음 위의 단계를 다시 시도하고mail명령어 대신heirloom-mailx를 사용합니다. - 
incoming계정에서 로그아웃하고root로 돌아갑니다:logout 
Courier IMAP 서버 설치
- 
courier-imap패키지를 설치합니다:sudo apt-get install courier-imap그리고
imapd를 시작합니다:imapd start - 
courier-authdaemon은 설치 후 시작되지 않습니다. 이것이 없으면 IMAP 인증이 실패합니다:sudo service courier-authdaemon start부팅 시
courier-authdaemon도 시작하도록 구성할 수 있습니다:sudo systemctl enable courier-authdaemon 
인터넷에서 이메일 수신하도록 포스트픽스 구성
- 
포스트픽스에게 로컬로 간주해야 하는 도메인을 알려줍니다:
sudo postconf -e "mydestination = gitlab.example.com, localhost.localdomain, localhost" - 
LAN으로 간주해야 하는 IP 주소를 포스트픽스에게 알려줍니다:
로컬 LAN이 있는 경우
192.168.1.0/24로 가정합니다. 동일한 로컬 네트워크에 다른 기기가 없는 경우 이 단계를 건너뛸 수 있습니다.sudo postconf -e "mynetworks = 127.0.0.0/8, 192.168.1.0/24" - 
포스트픽스에게 인터넷을 포함한 모든 인터페이스에서 이메일을 받도록 알려줍니다:
sudo postconf -e "inet_interfaces = all" - 
포스트픽스에게 하위 주소에
+구분자를 사용하도록 알려줍니다:sudo postconf -e "recipient_delimiter = +" - 
포스트픽스를 재시작합니다:
sudo service postfix restart 
최종 설정 테스트
- 
새로운 설정에서 SMTP를 테스트합니다:
- 
SMTP 서버에 연결합니다:
telnet gitlab.example.com 25다음과 같은 프롬프트가 표시되어야 합니다:
Trying 123.123.123.123... Connected to gitlab.example.com. Escape character is '^]'. 220 gitlab.example.com ESMTP Postfix (Ubuntu)대신
Connection refused오류가 발생하면 방화벽이 25번 포트의 인바운드 트래픽을 허용하도록 방화벽이 설정되어 있는지 확인하십시오. - 
SMTP를 테스트하기 위해
incoming사용자에게 이메일을 보냅니다. SMTP 프롬프트에 다음을 입력합니다:ehlo gitlab.example.com mail from: root@gitlab.example.com rcpt to: incoming@gitlab.example.com data Subject: Re: Some issue Sounds good! . quit.는 별도의 줄에 있는 실제 점(.)입니다. - 
incoming사용자가 이메일을 받았는지 확인합니다:su - incoming MAIL=/home/incoming/Maildir mail다음과 같은 출력이 표시되어야 합니다:
"/home/incoming/Maildir": 1 message 1 unread >U 1 root@gitlab.example.com 59/2842 Re: Some issue메일 앱을 종료합니다:
q - 
incoming계정에서 로그아웃하고root로 돌아갑니다:logout 
 - 
 - 
새로운 설정에서 IMAP를 테스트합니다:
- 
IMAP 서버에 연결합니다:
telnet gitlab.example.com 143다음과 같은 프롬프트가 표시되어야 합니다:
Trying 123.123.123.123... Connected to mail.gitlab.example.com. Escape character is '^]'. - OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION] Courier-IMAP ready. Copyright 1998-2011 Double Precision, Inc. See COPYING for distribution information. - 
IMAP를 테스트하기 위해
incoming사용자로 로그인합니다. 다음을 IMAP 프롬프트에 입력합니다:a login incoming PASSWORDPASSWORD를 이전에
incoming사용자에게 설정한 비밀번호로 대체합니다.다음과 같은 출력이 표시되어야 합니다:
a OK LOGIN Ok. - 
IMAP 서버에서 연결을 종료합니다:
a logout 
 - 
 
완료
모든 테스트가 성공했다면, 포스트픽스가 모든 설정을 마치고 이메일을 수신할 준비가 된 것입니다! 계속해서 수신 이메일 가이드를 따라 GitLab을 구성하세요.
본 문서는 Ubuntu 문서 위키의 기고자들에 의해 https://help.ubuntu.com/community/PostfixBasicSetupHowto에서 적응되었습니다.
도움말