2024. 5. 8. 18:06ㆍLinux
메일 클라이언트중 하나인
evolution을 썬더버드 대신 사용해보자
두 메일 서버를 생성해
서로 메일을 교환 해볼 것이다.
제일 먼저 DNS를 설치해 각 메일서버 주소를 만들어주자
vi /etc/named.conf
--------------------------vi 편집기--------------------
13 listen-on port 53 { any; };
14 // listen-on-v6 port 53 { ::1; };
21 allow-query { any; };
36 dnssec-validation no;
각 행의 내용 변경
vi /etc/named.rfc1912.zones
----------------------------vi 편집기----------------------------
43 zone "google.com" IN {
44 type master;
45 file "google.com.zone";
46 allow-update { none; };
47 };
48
49 zone "facebook.com" IN {
50 type master;
51 file "facebook.com.zone";
52 allow-update { none; };
53 };
마지막 줄에 DNS 영역 추가
영역 파일도 google.com.zone , facebook.com.zone을
/var/named/에 만들어 주었다.
vi /var/named/google.com.zone
-----------------------vi 편집기---------------------------
$TTL 0
@ IN SOA google.com. admin.google.com. (
20240508
1D
1H
1W
1W
)
IN NS google.com.
IN A 192.168.20.212
IN MX 10 mail.google.com.
mail IN A 192.168.20.212
vi /var/named/facebook.com.zone
-----------------------vi 편집기---------------------------
$TTL 0
@ IN SOA facebook.com. admin.facebook.com. (
20240508
1D
1H
1W
1W
)
IN NS facebook.com.
IN A 192.168.20.232
IN MX 10 mail.facebook.com.
mail IN A 192.168.20.232
실제로 존재하는 도메인을 사용하고 있기 때문에
DNS를 찾으러 밖으로 나가지 못하게
resolv.conf를 수정 해주자 (재부팅 시 재설정 필요)
vi /etc/resolv.conf
-----------------------------vi 편집기-------------------
# Generated by NetworkManager
nameserver 192.168.20.212
host 명령어로 도메인 검색시 위 사진처럼 뜬다면 성공이다!
그리고 sendmail, dovecot을 설치한 뒤
메일서버를 설정하자
vi /etc/mail/sendmail.cf
-----------------------------vi 편집기---------------------------
85 CWgoogle.com
264 0 DaemonPortOption=Port=smtp,Addr=0.0.0.0, Name=MTA
각 행 수정
CWlocalhost을 서버 도메인으로 수정해주고
264행의 Addr=127.0.0.1 부분은 지워주거나 0.0.0.0으로 수정하자
그래야 메일이 외부로 나갈 수 있게된다.
vi /etc/mail/access
-----------------------------vi 편집기------------------------------
13 192.168.20 RELAY
14 google.com RELAY
15 facebook.com RELAY
마지막 줄에 각 도메인과 IP 대역을 추가해주자
--------------------------------------------------------------------
makemap hash /etc/mail/access < /etc/mail/access
수정 후에 위 명령어로 DB형식으로 변환 해주자
Connect: 문구는 생략 가능하기에 생략해줬다
vi /etc/dovecot/dovecot.conf
-----------------------------vi 편집기------------------------------
24 protocols = imap pop3 lmtp
30 listen = *, ::
33 base_dir = /var/run/dovecot/
--------------------------------------------------------------------
각 행의 주석을 해제해주자
기본 디렉토리 지정 및 프로토콜,포트 등을 허용 해줬다.
vi /etc/dovecot/conf.d/10-mail.conf
-------------------------------- vi 편집기 --------------------------------
30 mail_location = mbox:~/mail:INBOX=/var/spool/mail/%u:INDEX=MEMORY
30번 행 주석 해제 후 경로 입력
위 설정은 메일 저장 경로를 지정해 주는데
24,25,26행의 사전 설정된 경로를 사용해도 된다.( %u = 유저명 변수)
에러가 발생할 수도 있어서 30번 행에 수동으로 입력해 주었다.
vi /etc/dovecot/conf.d/10-auth.conf
-----------------------------------vi 편집기---------------------------
10 disable_plaintext_auth = no
10행 주석 해제 후 수정
vi /etc/dovecot/conf.d/10-ssl.conf
-------------------------------- vi 편집기 --------------------------------
8 ssl = yes
8번 행을 ssl = yes로 수정
ssl 인증서 관련 명령어라 설정하지 않아도
메일 사용엔 지장은 없다.
systemctl restart named
systemctl restart sendmail
systemctl restart dovecot
설정이 모두 끝난 뒤 실행해주자
두번째 facebook 메일 서버에도 주소에 맞게 위 과정을 반복해주자(DNS 제외)
끝났다면 각 메일 서버에 테스트용 계정을 만들어 암호까지 설정 해주자
[root@localhost mail]# mail bb@facebook.com
Subject: hi
hello world
.
EOT
위 명령어처럼 facebook 메일 서버에
mail 명령어로 메일을 보내보자
facebook 서버의
/etc/mail/bb에 메일이 도착했다면 성공이다.
메일이 도착하지 않아 google.com 서버를 확인해보니
mail이 google서버로 다시 돌아왔다.
확인해보자
확인해보면 전송에 실패했다고 뜬다.
보내는 주소의 진짜 도메인 이름이 필요하다고 한다..
보내는 쪽이름도 root@localhost로 되어있다..
이럴땐 호스트를 변경해주자
vi /etc/hosts
---------------------------vi 편집기---------------------------
3 192.168.20.212 mail.google.com
마지막 줄에 해당 메일서버 IP와 메일서버 도메인 추가
vi /etc/hostname
------------------------------vi 편집기---------------------------
1 mail.google.com
원래 있던 localhost를 삭제하고 메일 도메인 삽입
vi /etc/sysconfig/network
------------------------------vi 편집기--------------------------
2 hostname=mail.google.com
마지막 줄에 해당 내용 추가
이후 재시작 한뒤에
/etc/resolv.conf 의 네임서버를 DNS서버가 있는 곳의 주소로 바꿔주자!
이 과정을 facebook.com 메일 서버에도 반복!
(주소는 facebook.com으로 바꿔서)
각 메일서버 접속시 위 사진처럼 호스트가 뜬다면
성공이다!
다시 mail 명령어로 메일을 보내보자
facebook 메일 서버에서
/var/mail/bb 파일을 열어보면
해당 메일이 도착해 있는 것이 보인다.
성공이다!
이제 evolution 프로그램을 설치해서
메일 클라언트로 메일을 보내자!
yum install -y evolution*
당연히 두 메일서버에 모두 설치해주자
해당 프로그램은 centos 작업 표시줄의
프로그램 > 오피스 > 에볼루션
으로 실행할 수 있다.
처음 실행하면 에볼루션 설정 마법사 창이 뜬다!
안내에 따라서 설정해주자
마법사를 마치고 이전에 설정한 비밀번호를 입력해주자
facebook 서버에서도 반복!
그리고 메일 클라언트로 메일을 보내보자
서로에게 메일을 보내보자!
보낸 뒤 보내기/ 받기 버튼을 누르면 최신화가 된다!
잘 도착했다! 성공이다!
이상으로 evolution 클라이언트를 사용해 보았다!