""" GUARDiA 이메일 발송 v2 — 스팸 점수 최소화 - Reply-To 헤더 추가 - List-Unsubscribe 헤더 추가 - 적절한 Message-ID - 텍스트 본문 충실히 작성 - HTML 과도한 스타일 제거 """ import smtplib, socket 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' NOW = datetime.now().strftime('%Y-%m-%d %H:%M:%S') DOMAIN = 'zioinfo.co.kr' text = ( 'GUARDiA ITSM 이메일 발송 테스트\n\n' '안녕하세요,\n\n' '(주)지오정보기술 GUARDiA ITSM 시스템에서 발송한 테스트 메일입니다.\n\n' '[발송 정보]\n' '- 발신자: guardia@zioinfo.co.kr\n' '- 발신 서버: mail.zioinfo.co.kr (101.79.17.164)\n' '- 발송 시각: ' + NOW + ' KST\n' '- 인증: SPF PASS + DKIM 서명\n\n' '[GUARDiA ITSM 이메일 알림 기능]\n' '- SR(서비스 요청) 접수 및 완료 알림\n' '- 인시던트 발생 긴급 알림\n' '- SLA 위반 경고 알림\n' '- 배포 완료/실패 알림\n' '- 라이선스 만료 알림\n\n' '이 메일은 GUARDiA ITSM 시스템 테스트 목적으로 발송되었습니다.\n\n' '--\n' '(주)지오정보기술\n' 'GUARDiA ITSM v2.0\n' 'guardia@zioinfo.co.kr\n' 'http://101.79.17.164:8001\n' ) html = ( '\n' '\n' '\n' ' \n' ' \n' ' GUARDiA ITSM\n' '\n' '\n' '\n' '\n' '
\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '
\n' '

GUARDiA ITSM

\n' '

(주)지오정보기술 AI 인프라 자율 운영 플랫폼

\n' '
\n' '

이메일 발송 테스트

\n' '

안녕하세요,
\n' ' (주)지오정보기술 GUARDiA ITSM 시스템 테스트 메일입니다.

\n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' '
발신자guardia@zioinfo.co.kr
발송 시각' + NOW + ' KST
SPF 인증PASS
DKIM 서명서명됨
\n' '

' 'GUARDiA ITSM은 SR 접수, 인시던트 알림, SLA 경고, 배포 알림 등을 이메일로 전송합니다.

\n' '
\n' '

\n' ' (주)지오정보기술 | guardia@zioinfo.co.kr | http://101.79.17.164:8001\n' '

\n' '
\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['X-Mailer'] = 'GUARDiA ITSM v2.0' 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.zioinfo.co.kr') smtp.sendmail(FROM, [TO], msg.as_string()) print('OK 발송 완료') print('수신: ' + TO) print('시각: ' + NOW + ' KST') except Exception as ex: print('FAIL:', ex)