Skip to content
조회 수 1669 추천 수 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

 

 

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

?

List of Articles
번호 분류 제목 날짜 조회 수
37 컴퓨터잡담 MYSQL 미 해결 과제 : Can't connect to MySQL server on 'localhost'(10055) 3 3 2009.11.21 64263
36 컴퓨터잡담 서버 해킹 당하다~ 1 6 2009.11.20 15662
35 컴퓨터잡담 mysqladmin 3 2009.11.19 14065
34 컴퓨터잡담 bat(배치)파일 문법 3 2009.11.19 12462
33 컴퓨터잡담 bat(배치)파일 문법 3 2009.11.19 13294
32 컴퓨터잡담 mysql 재시작, 사용자 추가 명령어 1 2 2009.11.19 32229
31 컴퓨터잡담 많은 DB 요청시 자동으로 막히는 현상 해제 2009.11.17 22925
30 컴퓨터잡담 MYSQL 최적화 2 2009.11.13 22447
29 컴퓨터잡담 jQuery 강좌 3 2009.10.27 12630
28 컴퓨터잡담 PHP로 FTP 접속 / 업로드 / 다운로드 등의 컨트롤 소스 2 3 2009.10.20 32766
27 컴퓨터잡담 php 이미지 저장 및 이미지크기를 줄여 저장기술 소스 2009.10.17 14232
26 컴퓨터잡담 php로 이미지를 mysql디비 저장하고 보여주는 소스 4 3 2009.10.17 62333
25 컴퓨터잡담 PHP로 그림에 글자 입히기 2009.10.17 19997
24 컴퓨터잡담 오토런 바이러스 1 2009.10.01 11369
23 컴퓨터잡담 사이트 디자인 무료 템플릿 공유 1 2009.09.23 22759
22 컴퓨터잡담 한글프로그램 메뉴-모양-세로쓰기 2009.09.21 15754
21 컴퓨터잡담 [php] 특수문자 -> 엔티티, 엔티티 -> 특수문자 2 2009.09.19 19807
20 컴퓨터잡담 MySQL TABLE 손상시 대응방법(db 내용이 안 나올때) file 2009.08.24 31833
19 컴퓨터잡담 [PHP] 원격지의 이미지 사이즈 구하는 방법 2 2009.08.11 44528
18 컴퓨터잡담 주식투자, 성공투자 원칙을 지키는 방법 1 2 2009.08.09 19427
Board Pagination Prev 1 ... 42 43 44 45 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소