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. 26
    Mar 2023
    08:12

    구글 스프레드시트에서 셀값이 특정일에서 현재일과 3일 이내의 범위에 들어오면 이메일을 발송하는 방법

    Category[Docs]스프레드시트 Views40474
    Read More
  2. 24
    Mar 2023
    17:36

    구글 스프레드시트에서 O열=입금완료 가 있는 행은 행 전체가 노란색으로 변하게 하기

    Category[Docs]스프레드시트 Views10050
    Read More
  3. 10
    Mar 2023
    10:23

    H열에 날짜가 10일 안으로 다가왔다면 메일을 발송하는 스크립트

    Category[Docs]스프레드시트 Views2251
    Read More
  4. 10
    Mar 2023
    10:18

    구글 스프레드시트 스크립트를 사용하여 지메일로 이메일을 보내기

    Category[Docs]스프레드시트 Views2676
    Read More
  5. 10
    Mar 2023
    10:14

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

    Category[Docs]스프레드시트 Views1661
    Read More
  6. 09
    Mar 2023
    09:59

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

    Category[Docs]스프레드시트 Views1821
    Read More
  7. 09
    Mar 2023
    09:57

    스프레드시트에서 검색 버튼 만들기

    Category[Docs]스프레드시트 Views2162
    Read More
  8. 09
    Mar 2023
    09:51

    스프레드시트에서 삽입 버튼 만들기(chatGPT 에게 물어봄)

    Category[Docs]스프레드시트 Views1438
    Read More
  9. 26
    Jan 2022
    19:45

    [구글스프레드시트] 현재의 셀주소 참조(address, cell)

    Category[Docs]스프레드시트 Views6464
    Read More
  10. 26
    Sep 2021
    22:54

    구글 스프레드시트 쿼리 사용하기 #3 날짜편

    Category[Docs]스프레드시트 Views6250
    Read More
  11. 26
    Sep 2021
    22:00

    구글 스프레드시트 쿼리 사용하기 #2

    Category[Docs]스프레드시트 Views3051
    Read More
  12. 27
    Dec 2020
    10:56

    스프레드시트 함수

    Category[Docs]스프레드시트 Views4825
    Read More
  13. 26
    Dec 2020
    16:10

    스프레드시트 스크립트 소스

    Category[Docs]스프레드시트 Views4892
    Read More
  14. 09
    Jan 2019
    09:25

    구글 앱스 스크립트(Google Apps Script) 외부에서 실행하기

    Category[Docs]스프레드시트 Views7050
    Read More
  15. 09
    Jan 2019
    09:24

    구글 앱스 스크립트(Google Apps Script) 외부에서 실행하기

    Category[Docs]스프레드시트 Views6807
    Read More
  16. 31
    Aug 2018
    21:05

    구글캘린더 CSV 파일로 일괄 기록하기

    Category[Docs]스프레드시트 Views12296
    Read More
  17. 25
    Jan 2018
    13:07

    스프레드시트 autohotkey html gmail 스마트폰 이용하여 핑로스 즉시 알림받기

    Category[Docs]스프레드시트 Views10578
    Read More
  18. 23
    Jan 2018
    21:59

    google spreadsheets html form post로 전달받기

    Category[Docs]스프레드시트 Views6882
    Read More
  19. 19
    Jan 2018
    16:29

    스프레드시트의 내용이 수정될 경우 즉시 메일발송하는 스크립트 테스트 중

    Category[Docs]스프레드시트 Views7642
    Read More
  20. 13
    Jan 2018
    12:51

    구글 스프레드시트 ajax POST를 통한 기록 따라해보기

    Category[Docs]스프레드시트 Views6675
    Read More
Board Pagination Prev 1 2 Next
/ 2

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소