Python으로 이메일 보내기 - smtplib 하나면 충분해요!
웹 개발을 하다 보면, 사용자에게 알림 메일을 보내야 할 일이 생기곤 합니다. 회원가입 확인 메일, 문의 답변 메일, 자동 회신 메일 등 다양하죠. 이런 기능을 Python으로 구현하려면 어떻게 해야 할까요?
생각보다 간단합니다. 파이썬에는 기본 라이브러리로 제공되는 smtplib
가 있기 때문이에요!
1. 이메일 전송에 필요한 라이브러리
Python에서는 다음 두 가지 내장 라이브러리를 사용해서 이메일을 전송할 수 있어요:
import smtplib
from email.mime.text import MIMEText
email.mime.text
는 이메일의 본문을 구성할 때 사용하고, smtplib
는 실제로 메일을 전송하는 역할을 해요.
2. 이메일 보내는 코드 예시
import smtplib
from email.mime.text import MIMEText
# 이메일 내용 구성
subject = "파이썬 이메일 테스트"
body = "안녕하세요! 이건 Python으로 보낸 이메일이에요 :)"
sender = "your_email@gmail.com"
recipient = "recipient@example.com"
msg = MIMEText(body)
msg["Subject"] = subject
msg["From"] = sender
msg["To"] = recipient
# Gmail SMTP 설정
smtp_server = "smtp.gmail.com"
smtp_port = 587
username = "your_email@gmail.com"
password = "your_app_password" # 앱 비밀번호 사용!
# 이메일 보내기
try:
with smtplib.SMTP(smtp_server, smtp_port) as server:
server.starttls() # TLS 보안 연결
server.login(username, password)
server.send_message(msg)
print("이메일 전송 성공!")
except Exception as e:
print("이메일 전송 실패:", e)
3. Gmail 보안 설정 주의사항
Gmail을 사용하려면 앱 비밀번호를 발급받아야 해요.
👉 기본 비밀번호는 사용 불가고, 2단계 인증이 설정된 계정에서 발급받은 앱 비밀번호를 사용해야 합니다.
4. 실전 사용 팁
- 이메일 내용이 HTML이라면
MIMEText(html, "html")
로 바꾸면 돼요. - 첨부파일을 보내고 싶다면
email.mime.multipart
,email.mime.base
도 함께 사용해 보세요. - 오류 메시지가 나오면
SMTPAuthenticationError
,ConnectionRefusedError
등을 확인해 보세요.
마무리하며
Python으로 이메일을 보내는 건 생각보다 간단하죠? smtplib
하나로 SMTP 연결부터 전송까지 다 처리할 수 있습니다. 간단한 자동화 작업이나 알림 시스템을 만들고 싶을 때 유용하게 써먹을 수 있어요.
다음에는 HTML 이메일이나 첨부파일이 포함된 예제도 준비해볼게요!
도움이 되셨다면 댓글이나 공감 부탁드립니다 😊
728x90
반응형
'PYTHON' 카테고리의 다른 글
파이썬으로 공용 IP, 로컬 IP 쉽게 알아내는 방법! 이 코드 하나로 해결! (+코드예제) (8) | 2025.04.23 |
---|---|
PYTHON IP 확인하기! 코드로 쉽고 빠르게 알아내는 방법 (+코드예제) (10) | 2025.04.15 |
Python 필독! 함수 선언 시 주의점 할 점 알려드릴게요! (13) | 2025.03.31 |
Python 기초 함수, 이렇게만 따라하면 되요! (3) | 2025.03.31 |