""" GUARDiA 이메일 발송 v3 — 피싱 경고 제거 핵심 수정: IP 직접 링크 제거, 도메인 사용, 간결한 본문 """ import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.utils import formatdate, make_msgid from datetime import datetime TO = 'ythong86@gmail.com' FROM = 'guardia@zioinfo.co.kr' DOMAIN = 'zioinfo.co.kr' NOW = datetime.now().strftime('%Y-%m-%d %H:%M:%S') # 텍스트 본문 — IP 링크 없음, 간결하게 text = ( '안녕하세요,\n\n' '(주)지오정보기술 GUARDiA ITSM 메일 서버 테스트입니다.\n\n' '이 메일은 zio 서버의 Postfix + OpenDKIM 정상 동작을 확인하기 위해 발송되었습니다.\n\n' '발신자: guardia@' + DOMAIN + '\n' '발송 시각: ' + NOW + ' KST\n\n' '-- \n' '(주)지오정보기술\n' 'guardia@' + DOMAIN + '\n' ) # HTML 본문 — IP 링크 완전 제거, 심플하게 html = ( '\n' '\n' 'GUARDiA ITSM\n' '\n' '\n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' '
\n' '

' 'GUARDiA ITSM

\n' '

' '(주)지오정보기술

\n' '
\n' '

' '메일 서버 테스트

\n' '

\n' ' zio 서버의 메일 서비스가 정상 동작하고 있습니다.
\n' ' 본 메일은 시스템 점검 목적으로 발송되었습니다.\n' '

\n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' '
발신자' 'guardia@' + DOMAIN + '
발송 시각' + NOW + ' KST
SPF / DKIM인증 완료
\n' '
\n' ' (주)지오정보기술  |  guardia@' + DOMAIN + '\n' '
\n' '\n' '\n' ) msg = MIMEMultipart('alternative') msg['Subject'] = '[GUARDiA] 메일 서버 테스트 - ' + NOW msg['From'] = '(주)지오정보기술 GUARDiA <' + FROM + '>' msg['To'] = TO msg['Reply-To'] = FROM msg['Date'] = formatdate(localtime=True) msg['Message-ID'] = make_msgid(domain=DOMAIN) msg['List-Unsubscribe'] = '' msg.attach(MIMEText(text, 'plain', 'utf-8')) msg.attach(MIMEText(html, 'html', 'utf-8')) try: with smtplib.SMTP('localhost', 25, timeout=15) as smtp: smtp.ehlo('mail.' + DOMAIN) smtp.sendmail(FROM, [TO], msg.as_string()) print('OK 발송 완료 - ' + TO) print('시각: ' + NOW + ' KST') print('IP 링크 완전 제거 / SPF+DKIM 적용') except Exception as ex: print('FAIL:', ex)