구글 지메일 이용 우분투 메일 서버 구축하기

| Updated

가장 안정적인 구글 지메일 이용 우분투 메일 서버 구축이 가능하다면 스팸으로 분류될 가능성을 낮추고 안정적으로 메일 서버 운영이 가능해집니다. 여기서는 우분투 서버에서 구글 지메일 릴레이 서비스를 이용해 안정적인 발신 전용 메일 서버 구축 방법에 대해서 정리해 봅니다.

구글 지메일 릴레이 서비스는 일반 지메일을 활용하는 방법과 상업용인 G Suite를 이용하는 방법이 있습니다.

일반 지메일 이용방법은 하루에 발송할 수 있는 메일 수가 500개로 제한되어 있습니다. G Suite의 경우 하루 2,000개부터 옵션에 따라 달라지면 기본도 최대 10,000통까지는 보낼 수 있습니다.

여기서 소개하는 방식은 서버에서는 Postfix라는 오픈소스 MTA(mail transfer agent)로 구글 지메일과 연결해 구글 지메일에서 메일을 송부하도록 하는 방식을 소개하려고 합니다.

블로그를 운영하든 쇼핑몰을 운영하든 메일은 중요한 커뮤니케이션 도구입니다. 우리나라는 일찍부터 스마트폰 보급이 증가하고 기초적인 SMS나 카톡과 같은 소셜 미디어가 할발하게 사용되면서 상대적으로 이메일 사용이 낮은 편입니다.

그러다보니 처음 사이트 운영 시 이메일에 대해서 별 신경을 쓰지 않았습니다. 사이트에서 메일을 보내야겠다는 생각 또는 사이트 상황을 메일로 받아보면서 관리를 하겠다는 생각을 전혀 하지 못했습니다.

그러나 시간이 지나면서 워드프레스를 비롯한 CMS나 우분투 서버와 같은 시스템들은 메일을 통한 커뮤니케이션이 아주 자연스럽고 기본에 가깝다는 것을 알게 되었습니다.

사이트 운영을 제대로 하려면 메일에 의존하지 않으면 안된다는 것을 깨닫게 된 것이죠. 그래서 오늘은 우분투 서버에서 메일 발신 기능을 추가하는 방법을 살펴보도록 하겠습니다.

Postfix 설치

그동안 서버에서 메일 서버 구축을 위해서는 QMail이나 sendmail을 많이 사용했습니다. 지금도 우분투 서버 세팅을 설명하는 수많은 자료들을 보면 메일 서버로 sendmail 설치를 이야기하고 있습니다.

그러나 갈수록 보안이 중요시 되면서 인증 수준이 높아지고 고려 요소들이 높이지면서 Postfix를 많이 사용합니다. Postfix는 IBM Public License에서 공개한 오픈소스 MTA(mail transfer agent)입니다.

Postfix는 SASL(Simple Authentication and Security Layer)를 이용한 SMTP 인증을 지원해 간단하게 스팸들을 걸러낼 수 있다고 합니다.

Postfix 설치

설치전에 서버 상태를 최신으로 업데이트 및 업그레이드 합니다.

apt-get update apt-get upgrade -y

Postfix에서 SMTP 인증을 위해서 Postfix 설치 시 libsasl 라이브러리를 함께 설치합니다.

apt-get install postfix mailutils libsasl2-2 ca-certificates libsasl2-modules

Postfix가 설치되는 동안 Postfix Configuration 팝업이 뜨는데요. 여기서 Internet Site를 선택합니다.

그 다음에는 도메인 이름을 입력합니다. happist.com과 같은..

지메일 릴레이 기능을 이용하기 위한 Postfix용 앱 비밀번호 생성

메일 서버는 공격 받기 쉬운 시스템이기 때문에 서버에서 전용 메일 서버를 구축해 운영하는 것을 굉장히 비효율적입니다. 그래서 가능하면 단순 메일 발송 기능만 사용하거나 이 조차 외부 메일 서버를 이용해서 리스크를 분산시키는 것이 좋습니다.

메일을 서버에서 직접 보내지 않고 외부 메일 서버에 부탁해서 대신보내도록 하는 것을 릴레이라고 부르는데요. 구글 Gmail과 같은 전용 메일 서비스에서는 이런 릴레이 서비스를 제공하고 있습니다.

물론 무한 지원하지는 않고 일 또는 월 발송 가능한 메일 수가 제한되어 있습니다. 일반 지메일 사용 시 일일 500개로 제한되어 있습니다. 물론 유료인 G Suite를 사용시는 일 2,000개 또는 10,000통이상을 보낼 수 있습니다.

여기서는 우리가 흔히 이용하는 Gmail을 이용해 메일을 릴레이해서 보내도록 하겠습니다. G Suite를 이용하는 방법에 대해서는 아래 글을 참조하시기 바랍니다.

[쇼핑몰 구축기] 안정적인 Gmail을 이용한 발신 전용 메일 서버 구축 방법

구글 Gmail 릴레이 기능을 이용하기 위해서는 Gmail에서 몇가지 설정을 통해서 Postfix용 앱 비밀번호를 얻어야 합니다.

  • Gmail에서 2단계 인증 사용
    예전에는 2단계 인증 사용하지 않고 보안 수준이 낮은 앱을 허용해 사용 가능했으나 구글에서 보안 이슈로 이를 불허하고 있음
  • Postfix와 같이 2단계 인증을 지원하지 않는 기기는 별도 앱 비밀번호를 생성해 구글 Gmail에 접속할 수 있음
    . 앱 비밀번호로 들어가 앱 종류를 기타로 선택하고 앱이름을 postfix와 같은 식으로 입력하면 앱 비밀번호가 생성 됨
    구글 지메일 이용 우분투 메일 서버 구축하기 1
    . 생성된 앱 비밀번호를 저장 후 다음 단계에서 활용

Postfix Setting

Postfix 설정 파일은 /etc/postfix/main.cf입니다.

이 파일을 열어서 Gmail을 활용해서 SMTP 릴레이(Relay)서비스가 가능토록 설정을 변경합니다.

우선 릴레이호스트에는 G Suite를이용한다면 [smtp-relay.gmail.com]:587를 적용하고, 일반 Gmail을 이용한다면 [smtp.gmail.com]:587를 적용합니다.

relayhost = [smtp.gmail.com]:587

그리고 마지막 부분에 아래 내용을 추가합니다.

# Enable SASL authentication smtp_sasl_auth_enable = yes # Disallow methods that allow anonymous authentication smtp_sasl_security_options = noanonymous # Location of sasl_passwd smtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl_passwd # Enable STARTTLS encryption smtp_tls_security_level = encrypt # Location of CA certificates smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

Gmail 계정 설정

다음으로는 위 설정 중 smtp_sasl_password_maps에서 지정한 지정한 파일에 G Suite 또는 Gmail 계정에 접속 가능토록 사용자 및 비밀번호를 설정합니다.

위에서 설정한대로 /etc/postfix/sasl/sasl_passwd 파일을 열어 편집합니다.

nano /etc/postfix/sasl/sasl_passwd

일반 Gmail 이용하는 경우 아래와 같은 순서에 따라 정보를 입력합니다.

[smtp.gmail.com]:587 Gmail계정@gmail.com:(postfix용) 앱 비밀번호

해시 DB 생성

이 다음에는 postmap 명령어를 이용해 hash db를 만들어 줍니다.

sudo postmap /etc/postfix/sasl/sasl_passwd

이러면 /etc/postfix/sasl/ 폴더에는 sasl_passwd와 sasl_passwd.db 이름의 두개의 파일이 존재하게 됩니다.

권한 부여

이렇게 만들어진 sasl_passwd와 sasl_passwd.db에는 SMTP에 대한 매우 중요한 정보가 들어 있기 때문에 권한을 강화해 줍니다.

오직 root 사용자만 읽고 쓸 수 있도록 합니다. 아래 명령을 사용합니다.

chown root:root /etc/postfix/sasl/sasl_passwd /etc/postfix/sasl/sasl_passwd.db chmod 0600 /etc/postfix/sasl/sasl_passwd /etc/postfix/sasl/sasl_passwd.db

이렇게 설정이 완료되면 Postfix를 재가동시킵니다.

systemctl restart postfix

테스트

postfix를 이용한 Gmail 릴레이 설정이 끝났으면 제대로 메일이 발송되는지 테스트해 봅니다.

sendmail recipient@elsewhere.com From: you@example.com Subject: Test mail This is a test email .

서울에 생긴 Vultr 서버 100$ 프로모션 안내

안녕하세요?
새로운 사이트 구축을 위한 신규 서버를 고민하신다면 , 서울 리젼이 생겨 더욱 빨라진 Vultr 서버를 Vultr 100$ 프로모션으로 이용해 보세요.

아래 프로모션 코드 링크를 통해 Vultr에서 서버 구축 후 1달 이상 사용 및 $25이상 결제 時 추가 100$을 주는 프로모션을 진행 中입니다.

아래 이미지를 클릭해 등록할 수 있습니다.

Vultr는 서울에도 리젼이 있어 매우 빠르고, 아마존 웹 서비스(AWS)보다 성능이 높으며 가장 가성비가 뛰어납니다.

거기다 사용자 UI도 좋고, 15개까지 스냅샷을 무료로 제공하기 때문에 관리하기 좋습니다. 그리고 지금 100$ 프로모션처럼 가격적인 메리트도 있습니다.

저는 2016년부터 Vultr 서버를 사용했는데요. 지금까지 잘 사용해 오고 있습니다. 아래 사용기도 참고해 보세요.

도쿄 리젼과 비교해 본 Vultr 서울 리젼 사용기

가성비가 뛰어난 Vultr 가상서버호스팅(클라우드호스팅,VPS) 사용기

Vultr 가상서버호스팅의 새상품 High Frequency 사용기

가상 서버를 운영하고픈 勇者에게 전하는 가상 서버 운영 입문 노하우 – Vultr 가상서버호스팅(VPS)를 중심으로

해외 가상서버호스팅(VPS)이 국내 호스팅보다 빠르다? – 아이비호스팅과 해외 가상서버호스팅 VULTR간 비교

사이트 운영을 위한 안내 – 웹서버 세팅에서 워드프레스 설치까지(우분투 17.10, NGINX 1.13.6, Marian DB 10.2, PHP7.2)

워드프레스 최적화를 위한 18개월간의 고민, 그 노하우를 담다.

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments