Skip to content
조회 수 1674 추천 수 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 Server APACHE PHP 에러 잡기 1 2016.03.23 10009
36 Server Apache & Mysql 셋팅방법(httpd-mpm.conf / my.ini) 2013.05.13 13711
35 WindowsTip An error [-5001 : 0x80070002] ha occurred while running the setup 오류 해결방법 file 2013.06.14 21948
34 컴퓨터잡담 ajax의 XMLHttpRequest 객체 1 2010.03.27 7463
33 AutoHotKey ahk와 ahk_l 의 웹페이지 로딩완료 체크 비교 3 2011.02.11 20326
32 AutoHotKey AHK에서 가능한 COM 인터넷 익스플로러 및 GUI 브라우저 1 2011.02.11 19503
31 AutoHotKey ahk로 만든 파일을 exe로 컴파일 한 후 실행시킬때 변수를 임의 1 1 2011.02.24 15333
30 컴퓨터잡담 AHK_L) SysListView321 컨트롤 내용 추출하기 2011.10.07 9893
29 AutoHotKey ahk_l 웹페이지 파일로 저장한 뒤 불러와 필요한 부분 추출하여 출력하기 2011.02.22 16993
28 AutoHotKey AHK_L 예제소스 1 2011.02.10 17020
27 AutoHotKey ahk_l 과 com 의 이해 2011.02.22 17487
26 AutoHotKey ahk_l 웹페이지 앞, 뒤페이지 제어 예제소스 및 설명첨부 2011.02.22 17537
25 AutoHotKey Ahk) 웹페이지 감시결과에 따라 마이피플로 글 전송하기 12 file 2013.01.06 44027
24 AutoHotKey ahk) 오토핫키 콤보박스 제어하기 file 2013.10.30 38187
23 AutoHotKey ahk) 열려진 엑셀창의 값 불러오기 1 2013.10.30 32543
22 AutoHotKey AHK) 보안프로그램 등으로 화면복사(Printscreen) 안될때 사용방법 1 12 file 2012.11.21 47179
21 AutoHotKey ahk) Send an email 메일발송하기 2018.01.17 9440
20 AutoHotKey Ahk) ip할당 진단프로그램 file 2011.12.26 12123
19 AutoHotKey AHK) AUTOKEY 웹페이지 열지않고 소스 가져오기 또는 로그인 하기 14 2012.05.12 52961
18 AutoHotKey ahk) autohotkey 엑셀(Excel)에서 행값 증가시키기 2013.10.30 37428
Board Pagination Prev 1 ... 42 43 44 45 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소