
Debian 9에 Postfix를 설치하고 SMTP 서버만 전송하도록 구성하는 방법
소개
Postfix는 전자 메일을 보내고 받는 데 사용되는 메일 전송 에이전트(MTA)입니다.이 강좌에서는 Postfix를 설치하고 구성하여 로컬 응용 프로그램 (즉, Postfix와 같은 서버에 설치된 응용 프로그램) 을 통해서만 전자 메일을 보낼 수 있습니다.
너는 왜 이렇게 하려고 하느냐?
타사 전자 메일 공급업체를 사용하여 전자 메일을 보내고 받은 경우 자체 전자 메일 서버를 실행할 필요가 없습니다.단, 관리하는 클라우드 서버에 전자 메일 알림을 보내야 하는 프로그램이 설치되어 있다면, 로컬에서 SMTP만 보내는 서버를 실행하는 것은 제3자 전자 메일 서비스 공급자를 사용하거나 전체 SMTP 서버를 실행하는 데 좋은 선택입니다.
이 강좌에서는 Debian 9에 Postfix를 설치하고 SMTP 서버만 전송하도록 구성합니다.
선결 조건
본 강좌를 배우려면 다음이 필요합니다.
Debian 9 initial server setup tutorial, sudo 비root 사용자로 설정된 Debian9 서버
서버에 대한 유효한 도메인 이름(예: example.com)입니다.이 guidelines on managing DNS hosting on DigitalOcean에 따라 설정할 수 있습니다.
hostname
을 입력하여 서버의 호스트 이름을 확인할 수 있습니다.출력은 서버를 만들 때 지정한 이름과 일치해야 합니다.1단계 - Postfix 설치
이 단계에서 Postfix를 설치하는 방법을 배울 것입니다.두 개의 패키지가 필요합니다.
mailutils
입니다. 여기에는 Postfix 실행에 필요한 프로그램과 postfix
자체가 포함됩니다.먼저 패키지 데이터베이스를 업데이트합니다.
- sudo apt update
다음 mailtuils
설치:- sudo apt install mailutils
마지막으로 postfix
설치:- sudo apt install postfix
설치 프로세스가 끝날 때 다음 그림과 같은 창을 볼 수 있습니다.기본 옵션은 인터넷 사이트입니다.이것은 본 강좌의 추천 옵션입니다. 따라서 TAB
을 누르고 ENTER
을 누르십시오.
다음 그림의 창처럼 다른 창을 얻을 수 있습니다.시스템 메일 이름은 서버를 만들 때 서버에 할당된 이름과 같아야 합니다.
subdomain.example.com
과 유사한 하위 도메인이 표시되면 example.com
으로 변경합니다.완료되면 TAB
을 누르고 ENTER
을 누르십시오.
이제 Postfix를 설치하여 구성 설정을 수정할 수 있습니다.
단계 2 - 접미사 구성
이 단계에서는 Postfix를 구성하여 실행 중인 서버(즉
localhost
)에서만 전자 메일을 보내는 요청을 처리합니다.이를 위해postfix는 순환 인터페이스 (서버가 내부 통신에 사용되는 가상 네트워크 인터페이스) 에서만 탐지하도록 설정해야 한다.변경하려면
nano
또는 your favorite text editor을 사용하여 기본 접두사 구성 파일을 엽니다.- sudo nano /etc/postfix/main.cf
파일을 연 후 다음 섹션이 표시될 때까지 아래로 스크롤합니다./etc/접미사/주.찾아보다
. . .
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
. . .
읽기 inet_interfaces = all
의 행을 inet_interfaces = loopback-only
으로 변경합니다./etc/접미사/주.찾아보다
. . .
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
. . .
수정해야 할 또 다른 명령은 mydestination
입니다. local_transport
의 메일을 통해 전송되는 필드 목록을 지정하는 데 사용됩니다.이 값은 기본적으로 다음과 같습니다./etc/postfix/main.cf. . .
mydestination = $myhostname, example.com, localhost.com, , localhost
. . .
이 명령의 recommended defaults은 아래 코드 블록에 있습니다. 따라서 코드를 수정하여 일치하도록 하십시오./etc/postfix/main.cf. . .
mydestination = $myhostname, localhost.$your_domain, $your_domain
. . .
파일을 저장하고 닫습니다.참고: 서버에서 여러 도메인을 호스팅하는 경우
mydestination
명령을 사용하여 Postfix에 다른 도메인을 전달할 수도 있습니다.그러나 Postfix를 확장 가능한 방식으로 설정하고 이러한 설정에 문제가 없으면 추가 설정이 필요합니다. 이것은 본고의 범위를 넘어섰습니다.마지막으로 Postfix를 다시 시작합니다.
- sudo systemctl restart postfix
3단계 - SMTP 서버 테스트
이 단계에서 Postfix가
mail
명령을 사용하여 외부 전자 메일 계정에 전자 메일을 보낼 수 있는지 테스트합니다. 이 명령은 1단계에 설치된 mailutils
패키지의 일부입니다.테스트 이메일을 보내려면 다음을 입력합니다.
- echo "This is the body of the email" | mail -s "This is the subject line" your_email_address
테스트를 실행할 때 본문과 테마 줄 텍스트를 그대로 사용하거나 취향에 따라 변경할 수 있습니다.단, your_email_address
대신 유효한 이메일 주소를 사용하십시오.도메인 섹션은 gmail.com
, fastmail.com
, yahoo.com
또는 사용자가 사용하는 다른 전자 메일 서비스 공급업체일 수 있습니다.테스트 메시지를 보낼 전자 메일 주소를 확인합니다.수신함에서 이 메일을 보셔야 합니다.없으면 스팸메일 폴더를 확인하십시오.
이 설정을 사용하면 테스트 전자메일의 발송자 필드의 주소는
sammy@example.com
입니다. 이 중 Sammy는 Linux 사용자 이름이고 도메인은 서버의 호스트 이름입니다.사용자 이름을 변경하면 보낸 사람의 주소도 변경됩니다.단계 4 - 시스템 메시지 전달
우리가 설정하고자 하는 마지막 일은 전송입니다. 이렇게 하면 사용자의 개인 외부 전자 우편 주소를 통해 전자 우편을 시스템의 루트 사용자에게 보낼 수 있습니다.
시스템에서 생성된 전자 메일이 전자 메일 주소로 전송되도록 Postfix를 구성하려면
/etc/aliases
파일을 편집해야 합니다.- sudo nano /etc/aliases
Debian 9이 기본적으로 설치된 파일의 전체 내용은 다음과 같습니다.등/별칭
mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root
postmaster: root
시스템이 생성한 전자메일을 루트 사용자에게 발송하도록 설정합니다.이 설정을 편집하여 전자 우편을 전자 우편 주소로 다시 라우팅하려고 합니다.이 작업을 완료하려면 파일을 편집하여 읽으려면 다음과 같이 하십시오.등/별칭
mailer-daemon: postmaster
postmaster: root
root: your_email_address
. . .
your_email_address
을 개인 이메일 주소로 바꿉니다.완료되면 파일을 저장하고 닫습니다.변경 사항을 적용하려면 다음 명령을 실행합니다.- sudo newaliases
다음과 같은 방법으로 루트 계정에 전자 메일을 보내 작업 상태를 테스트할 수 있습니다.- echo "This is the body of the email" | mail -s "This is the subject line" root
전자 메일 주소로 전자 메일을 받아야 합니다.없으면 스팸메일 폴더를 확인하십시오.결론
이것이 바로 Postfix 설정을 사용하여 전자 메일 서버만 보내는 데 필요한 모든 내용입니다.그러나 스팸메일 발송자의 공격으로부터 영역을 보호하기 위해 추가 절차가 필요할 수도 있습니다.
서버에서 온 알림을 단일 주소로 받으려면 메일을 스팸메일로 표시하는 것은 문제가 되지 않습니다. 화이트리스트 해결 방안을 만들 수 있기 때문입니다.그러나 잠재적인 사이트 사용자에게 이메일(예: 게시판 등록 확인 이메일)을 보내려면 서버의 이메일이 합법적으로 간주되기 쉽도록 SPF 레코드와 DKIM을 명확하게 설정해야 합니다.
How To Use an SPF Record to Prevent Spoofing & Improve E-mail Reliability
How To Install and Configure DKIM with Postfix on Debian Wheezy .