All Projects → mikeflynn → gmail-clj

mikeflynn / gmail-clj

Licence: EPL-1.0 License
A Clojure library that abstracts the GMail API (not the IMAP) interface.

Programming Languages

clojure
4091 projects
HTML
75241 projects

Projects that are alternatives of or similar to gmail-clj

shifting
A privacy-focused list of alternatives to mainstream services to help the competition.
Stars: ✭ 31 (-6.06%)
Mutual labels:  gmail
gmailjs-node-boilerplate
A minimal extension which demonstrates how to create a extension with Gmail.JS and NodeJS-based bundling.
Stars: ✭ 47 (+42.42%)
Mutual labels:  gmail
google-workspace
A unofficial high level Python API wrapper for some of the productivity based Google APIs, that is focused on simplicity.
Stars: ✭ 74 (+124.24%)
Mutual labels:  gmail
MBOX
Check your Gmail on linux via TERMINAL!
Stars: ✭ 13 (-60.61%)
Mutual labels:  gmail
Gmail-Clone
A Gmail Clone which built with ReactJS and Redux. You can sign in with your Google Account, compose a new e-mail and send realtime emails to the project.
Stars: ✭ 48 (+45.45%)
Mutual labels:  gmail
argus
Argus Advanced Remote & Local Keylogger For macOS and Windows
Stars: ✭ 87 (+163.64%)
Mutual labels:  gmail
CubeMail
CubeMail is a webmail client built using React and Chakra UI, It runs in the browser and uses the Gmail's public Javascript API.
Stars: ✭ 25 (-24.24%)
Mutual labels:  gmail
gmail-gitlab-filtering
Google Apps Script for Gmail to filter and sort email from GitLab
Stars: ✭ 84 (+154.55%)
Mutual labels:  gmail
mailto
💌 ⚡️ The mailto encoder
Stars: ✭ 157 (+375.76%)
Mutual labels:  gmail
maildir2gmail
Maildir 2 Gmail
Stars: ✭ 14 (-57.58%)
Mutual labels:  gmail
KP.GmailClient
A Gmail client for C#
Stars: ✭ 17 (-48.48%)
Mutual labels:  gmail
polybar-gmail
A Polybar module to show unread messages from Gmail
Stars: ✭ 76 (+130.3%)
Mutual labels:  gmail
emailpyspam
A python 3+ program to spam emails to a list of users repetitively
Stars: ✭ 63 (+90.91%)
Mutual labels:  gmail
TSWorkflow
G Suite workflow automation highlighted in my presentation given at SheetsCon-2020 - "Automation with Apps Script"
Stars: ✭ 28 (-15.15%)
Mutual labels:  gmail
smtplib-bruteforce
bruteforcing gmail (TLS/SSL)
Stars: ✭ 26 (-21.21%)
Mutual labels:  gmail
GmailBruterV2
Simple tool written in python3 to perform limited brute-force attacks on gmail accounts.
Stars: ✭ 264 (+700%)
Mutual labels:  gmail
Google-Clone
A Google Clone which built with ReactJS. When you click Gmail button, you will be directed to my other project, Gmail Clone. You can search whatever you want and send realtime emails by clicking Gmail button!
Stars: ✭ 37 (+12.12%)
Mutual labels:  gmail
briskine
Write faster with templates and keyboard shortcuts.
Stars: ✭ 88 (+166.67%)
Mutual labels:  gmail
hack-gmail
This is a python3 script for hacking Gmail account using Brute-force attack.
Stars: ✭ 204 (+518.18%)
Mutual labels:  gmail
sharon
A lightweight and modular social sharing library
Stars: ✭ 16 (-51.52%)
Mutual labels:  gmail

gmail-clj

A Clojure library designed to abstract the details of the GMail REST API: developers.google.com/gmail/api/

Installation

gmail-clj is available as a Maven artifact from Clojars:

Usage

Require the library in your REPL:

  (require '[gmail-clj.core :as gmail])

...or in your project.clj file

  (ns my-app.core
    (:require [gmail-clj.core :as gmail]))

Be sure to set your Google API Application Key and Secret:

  (gmail/set-client-secret! "aaaaa")
  (gmail/set-client-id! "bbbbbb")
  (gmail/set-refresh-token! "ccccc")
  (gmail/set-access-token! "dddddd") ; Optional. If you already have an access token.

Authorizing

This library takes your API information and will do an authorization based on a refresh token. (Note: If your app doesn't request a refresh token, you can simply set the access-token with gmail/set-access-token!, but we can't re-authorize after that token expires without a refresh token.)

To generate the refresh token you need to write your own interface with the Google OAuth endpoint, but for development and testing I've included an HTML file that does the basic OAuth handshake and returns the refresh token: /resources/index.html.

To Do

Here's a few things I haven't gotten to yet, mostly because I didn't need them in my specific use case. If you'd like to dive in an help on these, that would much appreciated!

  1. Sending email is very basic at the moment (to, subject, body): no bcc, no cc, no multiple addresses bcc / cc / to.
  2. All endpoints are hard-coded to the "me" authorized email identifier at this time.
  3. Email attachments!!

License

Copyright © 2014 Mike Flynn / @thatmikeflynn

Distributed under the Eclipse Public License, the same as Clojure.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].