Python

Python smtplib 메일 전송

falto 2026. 1. 4. 13:54

smtplib는 메일 전송을 하는 데에 사용할 수 있는 라이브러리다.

 

 

네이버

네이버 메일의 경우 아래처럼 작성하면 된다.

import smtplib

HOST="smtp.naver.com"
PORT=587
USER="YOUR_ID@naver.com"
PASSWORD="YOUR_APP_PASSWORD"
TO_ADDR="example@example.com"
MSG=f"From: {USER}\r\nTo: {TO_ADDR}\r\n\r\nHello, World!"

with smtplib.SMTP(HOST, port=PORT) as smtp:
    smtp.set_debuglevel(1)
    smtp.starttls()
    smtp.login(USER, PASSWORD)
    smtp.sendmail(USER,TO_ADDR,MSG)

YOUR_APP_PASSWORD에는 내 계정의 비밀번호가 아니라 애플리케이션 비밀번호를 따로 발급받아 사용해야 한다. 애플리케이션 비밀번호를 생성하는 방법은 아래 링크에 있다. 먼저 2단계 인증부터 설정해야 한다.

https://help.naver.com/service/5640/contents/8584?lang=ko&osType=COMMONOS

 

애플리케이션 비밀번호 사용 방법 (아웃룩 등 2단계 인증 미지원 환경에서 로그인) : 회원정보 고

아웃룩, 휴대전화 기본 메일앱, 캘린더앱 등 일부 애플리케이션은 2단계 인증을 지원하지 않습니다.미지원 환경에서는 먼저 비밀번호를 생성한 후 애플리케이션 화면에서 생성된 비밀번호를 입

help.naver.com

 

 

메일플러그

메일플러그의 경우 아래처럼 작성하면 된다.

import smtplib

HOST="smtp.mail-server.kr"
PORT=465
USER="YOUR_ID@YOUR_COMPANY.com"
PASSWORD="YOUR_LOGIN_PASSWORD"
TO_ADDR="example@example.com"
MSG=f"From: {USER}\r\nTo: {TO_ADDR}\r\n\r\nHello, World!"

with smtplib.SMTP_SSL(HOST, port=PORT) as smtp:
    smtp.set_debuglevel(1)
    smtp.login(USER, PASSWORD)
    smtp.sendmail(USER,TO_ADDR,MSG)

메일플러그는 PASSWORD에 자신이 로그인할 때 사용하는 비밀번호를 그대로 넣으면 된다.