최근 지메일의 스팸설정과 보안이 강화되면서
자체 메일서버로 발송한 자잘한 메일들이 아예차단되는 문제가 자주 발생하고 있다
(스팸함 조차 들어가지 못하게 아이피자체를 차단해 버린다)
지메일 차단 푸는 방법을 전에 게시한적이 있는데...
2021.10.21 - [기타] - Gmail 로 메일발송이 차단된경우
2022.10.07 - [기타] - 지메일로 메일이 차단된 경우 (시즌 2)
지메일만 막힌다면 반대로
지메일 SMTP를 통해 메일을 발송하면
최소한 아이피 차단같은 일은 벌어지지 않을거라 생각된다.
CentOS에서 사용하는 메일 발송 프로그램은
10년전에는 Sendmail이었지만 요즘은 Postfix를 주로 사용한다
Postfix로 지메일 SMTP연동하는 방법을 진행해 보자
Postfix 설정에 다음과 같이 추가해 주자
# vi /etc/postfix/main.cf
relayhost = [smtp.gmail.com]:587 #지메일 SMTP
smtp_use_tls = yes # tls통신 사용
smtp_sasl_auth_enable = yes # 계정로그인 사용
smtp_sasl_password_maps = hash:/etc/postfix/gmail #지메일 암호파일
smtp_tls_CAfile = /etc/postfix/ssl/cert-i.pem # 인증서
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
암호파일을 생성하자
# vi /etc/postfix/gmail
[smtp.gmail.com]:587 계정아이디@gmail.com:지메일비밀번호
문제는 지메일비밀번호가 문제다.
기존 접속하는 비밀번호로 로그인이 안될경우
지메일 2차인증을 설정하여 앱로그인 비밀번호를 만들어 입력하는걸 추천한다.
지메일 2차인증후 앱비밀번호 설정 하기
https://support.google.com/accounts/answer/185833?hl=ko
지메일 비밀번호 파일에 퍼미션 권한을 준다
# chmod 600 /etc/postfix/gmail
그리고 postmap으로 조회테이블을 만들어 준다
# postmap /etc/postfix/gmail
해당 디렉토리 밑에 gmail.db파일이 생성되어 있으면 된다
인증서 생성은 생략한다.
이미 생성된 http용 ssl인증서를 연결해도 된다.
다만 비밀번호가 걸려있지 않는 인증서로 하는게 좋다
2022.02.11 - [기타] - SSL인증서 비밀번호 삭제
설정이 모두 잘 되었으면 postfix를 재시작해준다
# service postfix restart
메일 발송테스트를 간단하게 해보자
당연한 이야기지만 외부로 587번 포트가 열려있어야 한다
# telnet localhost 25
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 서버명 ESMTP Postfix
ehlo 서버명
250-servername.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from:cksoft@mysop.net
250 2.1.0 Ok
rcpt to:cksoft@mysop.net
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
subject:TEST TEST
testmail
.
250 2.0.0 Ok: queued as DBA23106A10B
정상적으로 메일이 지메일을 통해 발송되었으면 /var/log/maillog에 아래와 같이 로그가 발생한다
텔넷 연결
postfix/smtpd[5482]: connect from localhost[127.0.0.1]
postfix/smtpd[5482]: DBA23106A10B: client=localhost[127.0.0.1]
메세지작성
postfix/cleanup[5486]: DBA23106A10B: message-id=<20230712133658.DBA23106A10B@mysop.net>
구글SMTP와 통신
postfix/qmgr[14962]: DBA23106A10B: from=<cksoft@mysop.net>, size=341, nrcpt=1 (queue active)
postfix/smtp[5487]: DBA23106A10B: to=<cksoft@mysop.net>, relay=smtp.gmail.com[74.125.203.109]:587, delay=24, delays=20/0.06/2.7/1.1, dsn=2.0.0, status=sent (250 2.0.0 OK 1689169034 c3-20020a170902724300b001b1c3542f57sm3948122pll.103 - gsmtp)
postfix/qmgr[14962]: DBA23106A10B: removed
상태값이 200번대로 나오면 정상적으로 발송되었다
status=sent (250 2.0.0 OK 어쩌구 저쩌구... - gsmtp)
출처 : https://webdir.tistory.com/171
'linux' 카테고리의 다른 글
[Linux] class 및 jar 파일 디컴파일 하기 (1) | 2024.10.08 |
---|---|
[BASH] 파일 읽는 방법 (0) | 2023.04.13 |
[Google-Chrome] 스크린샷 헤드리스 headless 해상도 문제 (0) | 2023.04.11 |
Failed to set locale, defaulting to C.UTF-8 (0) | 2023.03.23 |
yum "Segmentation fault" 오류 관련 (0) | 2022.12.28 |