• 이메일 보내기
import smtplib
from email.message import EmailMessage

def smtp_process():
  smtp = smtplib.SMTP_SSL('smtp.gmail.com', '465') # SSL 일 경우
  smtp.ehlo()
  aaa = smtp.login('aaaa111@gmail.com', 'istmizsyakhysvlx')
  # 구글 2단계 인증, 앱 비밀번호 https://greensul.tistory.com/31
  print(aaa)
  msg = make_msg()
  result = smtp.send_message(msg)
  print('email result = {}'.format(result))
  smtp.quit()

def make_msg():
  # 이메일 메시지 객체 생성
  msg = EmailMessage()
  msg['Subject'] = '메일발송 테스트 from python'
  msg['From'] = 'aaaa111@gmail.com'  # 빈값이면 default값 전송 (로그인한 계정)
  msg['To'] = 'aaaa111@naver.com, aaaa111@kakao.com'
  msgbody = '''안녕하세요
  반갑습니다.
  또 만나요 \n good bye
  python에서 메일 보냈어요....
  '''
  msg.set_content(msgbody)
  return msg

def main():
  smtp_process()

구글 이메일 계정으로 메일을 보내기 위해서는 구글 2단계 인증으로 앱 비밀번호를 설정해야한다.

https://greensul.tistory.com/31

 

[Python] Gmail 을 이용하여 메일 발송 시 Error 처리 - Gmail 앱 비밀번호 설정

이 전 포스팅에서 Python으로 메일 폭탄(Mail Bomber) 테스트를 진행하였습니다. [Python] E-Mail Send - Email Bomber Test [Python] E-Mail Send - Email Bomber Test 스팸(Spam) 테스트를 위해 E-mail Bomb(이..

greensul.tistory.com

 

  • 이메일 가져오기
import imaplib
import email
import datetime

def get_email_process():
  imap = imaplib.IMAP4_SSL('imap.gmail.com')
  result = imap.login('aaaa111@gmail.com', 'istmizsyakhysvlx')
  print('imap login result :', result)

  imap.select('inbox') # 받은 편지함 선택 
  result, data = imap.uid('search', None, "ALL") # 전체 검색 
  # result, data = imap.search(None, '(FROM "no-reply@accounts.google.com")') # 보낸이 검색 
  # mydate = (datetime.date.today() - datetime.timedelta(1)).strftime("%Y-%m-%d") # 하루
  # result, data = imap.search(None, '(SENTSINCE {})'.format(mydate)) # 지정 날짜 이후 xx
  latest_email_uid = data[0].split()[-1] # 가장 마지막 uid
  result, data = imap.uid('fetch', latest_email_uid, '(RFC822)')
  print(result)
  print(data)
  raw_email = data[0][1]

  email_message = email.message_from_string(raw_email.decode('utf-8'))
  print(email_message['To'], email.utils.parseaddr(email_message['From'])) # 받는사람, 보낸사람 
  if email_message.is_multipart():
    for p in email_message.get_payload():
      print('body: '+ p.get_payload()) # 본문 내용

  # uid를 입력받아 해당 이메일을 삭제한다.
  # re = imap.uid('STORE','6723','+FLAGS', '(\Deleted)')
  # print(re)
  # re = imap.expunge()
  # print(re)

  imap.close()
  imap.logout()

def main():
  get_email_process()

 

 

https://replit.com/@dhshin38/Tutorial-Python#email_send.py

 

Tutorial Python

A Python repl by dhshin38

replit.com

 

https://replit.com/@dhshin38/Tutorial-Python#email_get.py

 

Tutorial Python

A Python repl by dhshin38

replit.com

 

'Python' 카테고리의 다른 글

Python Open API와 json  (0) 2022.01.23
Python 웹 스크레핑 예제  (0) 2022.01.23
Python csv 파일  (0) 2022.01.23
Python 엑셀 읽기, 쓰기  (0) 2022.01.23
Python 클래스, 상속, Override  (0) 2022.01.23

+ Recent posts