Guardar borrador programáticamente en la carpeta de borradores de Gmail

Preferiblemente usando Python o Java, quiero redactar un correo electrónico y guardarlo en borradores de gmail sin la intervención del usuario,

Aquí hay un script de Python para acceder a una cuenta de Gmail. Primero necesitas generar un token OAuth. Descarga el módulo xoauth.py de Google y ejecútalo . Te guiará a través de los pasos. Obtendrá una url para obtener un código de verificación; péguelo en el script y escupirá su token y su secreto:

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

Una vez que haya obtenido su token y su secreto, cópielos en el script de Python a continuación. Utiliza xoauth.py para autenticar el cliente IMAP, se conecta a IMAP, xoauth.py un mensaje y lo coloca en la carpeta Borradores.

 import email.message import imaplib import random import time import xoauth MY_EMAIL = 'youremail@gmail.com' MY_TOKEN = '' MY_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() 

¿Segunda persona para preguntar algo similar hoy, usando su espacio de buzón de correo de Gmail?

puede intentar hacerlo usando un cliente imap de python: imaplib quick imaplib + python + gmail devuelto: http://www.mattwarren.name/2008/08/2/python-imaplib-and-gmail/

Una forma más complicada, pero factible, es usar selenium / webdriver. Puedes automatizar casi cualquier cosa.