본문 바로가기

리눅스

CentOS 7에서 SMTP 릴레이를 설정하는 방법

반응형

CentOS 7에서 SMTP 릴레이를 설정하는 방법

1. Sendmail 패키지 설치

sudo yum install sendmail sendmail-cf

2. Sendmail 구성 파일 편집

Sendmail의 주 설정 파일인 sendmail.mc를 편집합니다.

sudo vim /etc/mail/sendmail.mc

3. 릴레이 서버 추가

sendmail.mc 파일 내에서 다음과 같이 릴레이 서버를 추가합니다. {smtp.example.com}은 실제 사용하려는 릴레이 서버의 주소로 바꾸어야 합니다.

define(`SMART_HOST',`[smtp.example.com]')dnl

추가한 후, 파일을 저장하고 닫습니다.

4. Sendmail 구성 파일 재생성

변경 사항을 적용하려면 sendmail.mc 파일에서 sendmail.cf로의 변환이 필요합니다.

sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

5. Sendmail 서비스 재시작

변경 사항을 적용하려면 Sendmail 서비스를 재시작해야 합니다.

sudo systemctl restart sendmail

6. Firewall 설정(선택 사항)

방화벽을 사용하는 경우, 릴레이 서버와의 통신을 허용하는 규칙을 추가해야 합니다.

예를 들어, 포트 25를 허용하는 경우

sudo firewall-cmd --add-port=25/tcp --permanent
sudo firewall-cmd --reload

7. 테스트

Sendmail이 올바르게 구성되었는지 확인하기 위해 간단한 메일을 보내 볼 수 있습니다.

echo "This is a test email" | mail -s "Test Email" your-email@example.com

여기서 your-email@example.com은 실제 이메일 주소로 바꿔주어야 합니다.

728x90

/etc/mail/access 파일 편집

원하는 규칙을 /etc/mail/access 파일에 추가 또는 수정합니다. 예를 들어, 특정 도메인에서의 메일을 허용하거나 차단하는 규칙을 추가할 수 있습니다.

sudo vim /etc/mail/access

예를 들어, example.com 도메인에서의 메일을 허용하려면 다음과 같이 추가할 수 있습니다.

# Check the /usr/share/doc/sendmail/README.cf file for a description
# of the format of this file. (search for access_db in that file)
# The /usr/share/doc/sendmail/README.cf is part of the sendmail-doc
# package.
#
# If you want to use AuthInfo with "M:PLAIN LOGIN", make sure to have the
# cyrus-sasl-plain package installed.
#
# By default we allow relaying from localhost...
Connect:localhost.localdomain           RELAY
Connect:localhost                       RELAY
Connect:127.0.0.1                       RELAY
Connect:vm.scbyun.com                   RELAY
Connect:mail.vm.scbyun.com              RELAY
Connect:192.168.0                       RELAY <= 추가

makemap 명령 실행

makemap 명령을 사용하여 /etc/mail/access 파일을 access.db로 변환합니다.

makemap -v hash /etc/mail/access.db < /etc/mail/access

이 명령은 /etc/mail/access 파일에서 access.db로 변환하는 과정을 수행합니다.

$ makemap -v hash /etc/mail/access.db < /etc/mail/access
key=`connect:localhost.localdomain', val=`RELAY'
key=`connect:localhost', val=`RELAY'
key=`connect:127.0.0.1', val=`RELAY'
key=`connect:vm.scbyun.com', val=`RELAY'
key=`connect:mail.vm.scbyun.com', val=`RELAY'
key=`connect:192.168.0', val=`RELAY'

Sendmail 서비스 재시작

변경 사항을 적용하기 위해 Sendmail 서비스를 다시 시작합니다.

sudo systemctl restart sendmail

 

이제 CentOS 7에서 Sendmail을 사용하여 SMTP 릴레이를 설정했습니다. 릴레이 서버의 구성은 실제 환경에 따라 다를 수 있으므로 필요에 따라서 더 많은 설정을 추가하거나 수정해야 할 수 있습니다.

 

728x90
반응형