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
728x90
반응형
'컴퓨터' 카테고리의 다른 글
[웹] KBO 선수 퀴즈 사이트 만들기 (4) | 2023.04.21 |
---|---|
[ChatGPT] 프롬프트 엔지니어링이란? (0) | 2023.02.26 |
[에러] TypeError: dropout(): argument 'input' (position 1) must be Tensor, not str (1) | 2022.07.05 |
[에러] ... cannot open shared object file: No such file or directory (0) | 2022.07.05 |
Porter Stemmer(포터 스테머)를 만들어보자! (1) | 2021.04.22 |
댓글