본문 바로가기
컴퓨터

PYTHON으로 GMAIL 보내는 법 (메일 자동화)

by skyjwoo 2022. 11. 28.
728x90
반응형

최근 아침 마다 확인할 작업들이 생겨서 자동화로 매일 아침 메일 알람을 주었음 해서 관련 코드를 찾아보았다.

파이썬 SMTP 라이브러리 활용하면 코드로 메일을 보낼 수 있다고 한다.

gmail이 그래도 api도 많이 공개돼 있고 쉬울 것 같아 여기선 gmail에 대해서만 다루도록 하겠다. (코드 아래 유의 사항 참조!)

전송 방법은 아래와 같으며, 아래 코드에서 (*) 표시된 부분들만 각자 필요에 맞게 수정해서 쓰면 되겠다.

import smtplib
from email.mime.text import MIMEText


# (*)보낼 메일의 내용과 제목
content = """
임시 내용
"""
title = '메일 제목'

msg = MIMEText(content)
msg['Subject'] = title

# (*)메일의 발신자 메일 주소, 수신자 메일 주소, 앱비밀번호(발신자) 
sender = '보내는사람@주소.com'
receiver = '받는사람@주소.com'
app_password = '앱비밀번호(16자리)'


# 세션 생성
with smtplib.SMTP('smtp.gmail.com', 587) as s:
    # TLS 암호화
    s.starttls()

    # 로그인 인증과 메일 보내기
    s.login(sender, app_password)
    s.sendmail(sender, receiver, msg.as_string())


위 코드 실행 전 유의할 게 있는데, gmail로 보낼 때 따로 메일 앱비밀번호 설정이 필요하다.
다음은 gmail 앱 비밀번호 설정 방법이다.

먼저 크롬 창에서 우측 상단의 계정 아이콘을 클릭한 후, Google 계정 관리 페이지로 들어간다.


다음으로 보안-Google에 로그인 에서 2단계 인증을 해주고, 앱 비밀번호를 추가해준다.


앱 비밀번호에서는 메일-추가할 기기(Windows 컴퓨터) 를 클릭해주고 비밀번호를 생성한다. 생성 뒤 나타나는 16자리 코드를 잘 기억하여 위 코드에서 app_password 변수에 넣어주면 됩니다.


아래는 메일 전송 코드의 실행 결과이다.
잘 실행된다 ㅎㅎ

참고 내용

SMTP 라이브러리
https://docs.python.org/ko/3/library/email.examples.html#email-examples

email: 예제 — Python 3.11.0 문서

다음은 email 패키지를 사용하여 간단한 전자 우편 메시지뿐만 아니라 더 복잡한 MIME 메시지를 읽고 쓰고 보내는 방법에 대한 몇 가지 예입니다. 먼저 간단한 텍스트 메시지를 만들고 보내는 방법

docs.python.org

728x90
반응형

댓글