프로그래밍/Python

[Python] email-"The sender address is not a valid RFC-5322 address" 오류 대처

채윤아빠 2021. 8. 5. 08:35
728x90
반응형

문제점 및 증상

아래와 같이 이메일 발송 예제를 이용하여 메일을 발송하였을 때, 대 부분은 문제 없이 잘 수신이 되었으나, 네이버에서는 수신이 되지 않았습니다.

import smtplib
from email.mime.text import MIMEText

smtp = smtplib.SMTP('mail.mail-server.kr', 25)
smtp.ehlo()      # say Hello
#smtp.starttls()  # TLS 사용시 필요
smtp.login('sender@mail-server.kr', 'qrCheckIn2@2!')

msg = MIMEText('본문 테스트 메시지')
msg['To'] = 'hbesthee@naver.com'
msg['Subject'] = '메일 발송 시험 (2021.08.05)'
smtp.sendmail('sender@mail-server.kr', 'hbesthee@naver.com', msg.as_string())

smtp.quit()

나중에 네이버에서 회신된 메일 내용을 확인해 보니, 아래와 같은 오류 문구로 발송 실패가 된 것이었습니다.

<hbesthee@naver.com>:
125.209.222.14 failed after I sent the message.
Remote host said: 553 5.7.2 The sender address is not a valid RFC-5322 address L-fxi54DSja6sFAQ901pVA - nsmtp

조치 내용

발송 실패 회신된 메일의 본문의 내용 "sender"에 해당하는 헤더가 명확하지 않아서 발생한 것이었습니다.

 

다음과 같이 "From"에 대한 헤더를 추가하고 이메일을 발송였더니, 네이버에서도 정상적으로 메일이 수신되었습니다.

import smtplib
from email.mime.text import MIMEText

smtp = smtplib.SMTP('mail.mail-server.kr', 25)
smtp.ehlo()      # say Hello
#smtp.starttls()  # TLS 사용시 필요
smtp.login('sender@mail-server.kr', 'qrCheckIn2@2!')

msg = MIMEText('본문 테스트 메시지')
msg['From'] = 'sender@mail-server.kr'
msg['Subject'] = '메일 발송 시험 (2021.08.05)'
msg['To'] = 'hbesthee@naver.com'
smtp.sendmail('sender@mail-server.kr', 'hbesthee@naver.com', msg.as_string())

smtp.quit()

패키지에 대한 정확한 사용법을 숙지하며 써야 겠습니다. ^^;

참고자료