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은 실제 이메일 주소로 바꿔주어야 합니다.
/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 릴레이를 설정했습니다. 릴레이 서버의 구성은 실제 환경에 따라 다를 수 있으므로 필요에 따라서 더 많은 설정을 추가하거나 수정해야 할 수 있습니다.
'리눅스' 카테고리의 다른 글
CentOS 4에서 Oracle Database 11g R2를 설치하는 방법 (0) | 2014.09.22 |
---|---|
CentOS 7에서 iRedMail을 설치하는 방법 (0) | 2014.08.20 |
telnet을 사용하여 SMTP 서버를 통해 메일을 전송하는 방법 (0) | 2014.08.07 |
YUM 업데이트 중 패키지 의존성 충돌로 인한 오류 발생 (0) | 2014.07.29 |
fuser 명령어 (1) | 2014.07.28 |