Skip to content
조회 수 1661 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

H열의 예정일 값이 현재일에서 10일을 더한 값에 속한다면 지메일로 메일을 보내는 스크립트

 

파이썬과 Google API를 사용하여 지메일로 메일을 보내는 스크립트를 만들 수 있습니다. 아래는 스크립트입니다.

 


import datetime

import os.path

import pickle

from google.auth.transport.requests import Request

from google_auth_oauthlib.flow import InstalledAppFlow

from googleapiclient.errors import HttpError

from googleapiclient.discovery import build

from google.oauth2.credentials import Credentials

 

# 구글 클라우드 플랫폼에서 받은 클라이언트 ID와 시크릿 ID를 입력하세요.

CLIENT_ID = 'YOUR_CLIENT_ID'

CLIENT_SECRET = 'YOUR_CLIENT_SECRET'

 

# 필요한 스코프 설정(이메일 보내기)

SCOPES = ['https://www.googleapis.com/auth/gmail.send']

 

# 사용자 인증을 위한 크리덴셜 가져오기(없다면 인증 창을 띄움)

creds = None

if os.path.exists('token.pickle'):

    with open('token.pickle', 'rb') as token:

        creds = pickle.load(token)

if not creds or not creds.valid:

    if creds and creds.expired and creds.refresh_token:

        creds.refresh(Request())

    else:

        flow = InstalledAppFlow.from_client_secrets_file(

            'credentials.json', SCOPES)

        creds = flow.run_local_server(port=0)

    with open('token.pickle', 'wb') as token:

        pickle.dump(creds, token)

 

# Gmail API 클라이언트 인스턴스 만들기

service = build('gmail', 'v1', credentials=creds)

 

# 예정일을 현재일에서 10일 이후로 설정합니다.

due_date = datetime.datetime.now() + datetime.timedelta(days=10)

 

# H열의 값을 가져오기 위해 구글 시트 API를 사용합니다.

sheet_service = build('sheets', 'v4', credentials=creds)

sheet_id = 'YOUR_SHEET_ID'

range_name = 'Sheet1!H2:H'

result = sheet_service.spreadsheets().values().get(spreadsheetId=sheet_id, range=range_name).execute()

values = result.get('values', [])

if not values:

    print('No data found.')

else:

    for row in values:

        if row:

            if datetime.datetime.strptime(row[0], '%m/%d/%Y') == due_date.date():

                # H열의 예정일 값이 현재일에서 10일 이후로 설정된 경우 이메일 보내기

                message = create_message('YOUR_EMAIL_ADDRESS', 'TO_EMAIL_ADDRESS', 'Subject', 'Message Text')

                send_message(service, 'me', message)

                print('Email sent.')

            else:

                print('No email to send.')

 

def create_message(sender, to, subject, message_text):

  """Create a message for an email.

 

  Args:

    sender: Email address of the sender.

    to: Email address of the recipient.

    subject: The subject of the email message.

    message_text: The text of the email message.

 

  Returns:

    An object containing a base64url encoded email object.

  """

  message = MIMEText(message_text)

  message['to'] = to

  message['subject'] = subject

  message['from'] = sender

  return {'raw': base64.urlsafe_b64encode(message.as_bytes()).decode()}

 

def send_message

 

 

로그인 후 댓글쓰기가 가능합니다.

?

  1. 09
    Mar 2023
    09:59

    스프레드시트에서 수정, 삭제 버튼 만들기

    Category[Docs]스프레드시트 Views1821
    Read More
  2. 28
    Jun 2016
    00:37

    xe 타이틀 게시판 이름 없애기

    CategoryServer Views1803
    Read More
  3. 06
    Sep 2016
    20:32

    Apache에 대한 mod_proxy 지원 구성

    CategoryServer Views1801
    Read More
  4. 31
    May 2021
    00:08

    파이썬 사이트 정보 가져와서 필요한 내용 추출하기

    Category컴퓨터잡담 Views1779
    Read More
  5. 08
    Jan 2015
    23:26

    컴퓨터가 많이 느리다면?

    CategoryWindowsTip Views1777
    Read More
  6. 11
    Feb 2015
    14:39

    윈도우 XP SP3 와 Windows 8.1 두가지 부팅 메뉴얼

    CategoryWindowsTip Views1768
    Read More
  7. 08
    Jul 2021
    12:08

    KM Wakeup 절전모드 예약 및 깨우는 프로그램

    Category컴퓨터잡담 Views1763
    Read More
  8. 06
    Sep 2021
    13:34

    키움증권 OpenAPI 당황스러움

    Category파이썬 Views1749
    Read More
  9. 30
    Apr 2016
    12:26

    서버 부하상태 체크

    CategoryServer Views1709
    Read More
  10. 22
    Jun 2021
    08:01

    파이썬 리스트에 데이터 삽입하기

    Category컴퓨터잡담 Views1707
    Read More
  11. 10
    Mar 2023
    10:14

    스프레드시트의 값의 변화에 따라 지메일로 메일을 보내는 스크립트

    Category[Docs]스프레드시트 Views1661
    Read More
  12. 23
    Dec 2014
    18:09

    익스플로러 ftp 정상화 시키기

    CategoryWindowsTip Views1660
    Read More
  13. 16
    Mar 2016
    12:18

    [Apache] mod_expires .htaccess을 수정하여 브라우저 캐싱하기

    CategoryServer Views1658
    Read More
  14. 19
    Aug 2016
    15:10

    XE file cache 활용

    CategoryServer Views1648
    Read More
  15. 27
    Jan 2015
    07:33

    IE 익스플로러 메뉴 바탕이 검정색으로 변했을경우 대처방법

    CategoryWindowsTip Views1644
    Read More
  16. 25
    Mar 2016
    08:58

    [아파치 error.log] Fatal Error Unable to reattach to base address

    CategoryServer Views1643
    Read More
  17. 05
    Jun 2021
    23:13

    파이썬 한우정액 정보 스프레드로 추출하기

    Category컴퓨터잡담 Views1625
    Read More
  18. 23
    Jun 2021
    13:32

    파이썬 멀티라벨 소스 줄이기

    Category컴퓨터잡담 Views1616
    Read More
  19. 16
    Jun 2021
    08:08

    Python 파일을 exe파일로 컴파일하기

    Category컴퓨터잡담 Views1611
    Read More
  20. 02
    Sep 2021
    23:14

    [python] 윈도우 파이썬 모듈 설치 방법 (특정프로그램 설치 없이 기본프로그램 활용)

    Category컴퓨터잡담 Views1581
    Read More
Board Pagination Prev 1 ... 41 42 43 44 45 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소