Программно сохранить черновик в папке черновиков Gmail - PullRequest
5 голосов
/ 18 марта 2011

Желательно использовать Python или Java, я хочу составить письмо и сохранить его в черновиках Gmail без вмешательства пользователя,

Ответы [ 2 ]

9 голосов
/ 19 марта 2011

Вот скрипт Python для доступа к учетной записи Gmail.Сначала вам нужно сгенерировать токен OAuth.Загрузите модуль xoauth.py от Google и запустите его.Он проведет вас через ступеньки.Вы получите URL для получения кода подтверждения - вставьте его в скрипт, и он выдаст ваш токен и секрет:

% python xoauth.py --generate_oauth_token --user=youremail@gmail.com

Как только вы получите свой токен и секрет, скопируйте ихскрипт Python ниже.Он использует xoauth.py для аутентификации клиента IMAP, подключается к IMAP, создает сообщение и помещает его в папку «Черновики».

import email.message
import imaplib
import random
import time
import xoauth

MY_EMAIL = 'youremail@gmail.com'
MY_TOKEN = '<token>'
MY_SECRET = '<secret>'

# construct the oauth access token
nonce = str(random.randrange(2**64 - 1))
timestamp = str(int(time.time()))
consumer = xoauth.OAuthEntity('anonymous', 'anonymous')
access = xoauth.OAuthEntity(MY_TOKEN, MY_SECRET)
token = xoauth.GenerateXOauthString(
    consumer, access, MY_EMAIL, 'imap', MY_EMAIL, nonce, timestamp)

# connect to gmail's imap service.
imap = imaplib.IMAP4_SSL('imap.googlemail.com')
imap.debug = 4
imap.authenticate('XOAUTH', lambda x: token)

# create the message
msg = email.message.Message()
msg['Subject'] = 'subject of the message'
msg['From'] = MY_EMAIL
msg['To'] = MY_EMAIL
msg.set_payload('Body of the message')

# append the message to the drafts folder
now = imaplib.Time2Internaldate(time.time())
imap.append('[Gmail]/Drafts', '', now, str(msg))

imap.logout()
1 голос
/ 18 марта 2011

второй человек, чтобы спросить что-то подобное сегодня, Используя ваше почтовое пространство GMail?

Вы можете попробовать сделать это с помощью клиента python imap: imaplib quick imaplib + python + gmail вернул: http://www.mattwarren.name/2008/08/2/python-imaplib-and-gmail/

более сложным, но выполнимым способом является использование селена / вебдрайвера.Вы можете автоматизировать почти все.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...