# simonrob/email-oauth2-proxy

An IMAP/POP/SMTP proxy that transparently adds OAuth 2.0 authentication for email clients that don't support this method. Keep legacy email clients working with Exchange Online, Gmail and other providers.

Repository: https://github.com/simonrob/email-oauth2-proxy
Canonical: https://ross.abutalabs.com/products/email-oauth2-proxy
Language: Python
License: Apache-2.0
License Family: permissive
Topics: email, proxy, imap, smtp, oauth, o365, gmail, oauth2, pop, pop3
Last push: 2026-07-03T14:01:49+00:00

## Health v2 (maintenance only)
Score: 84/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 90, release rhythm 67, longevity 100
- inputs: {"age_days": 2028, "days_push": 61, "days_rel": 61, "gap_med": 101.0, "n_releases_24m": 7}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1465, forks 147 (observed 2026-08-28T04:04:48.242801+00:00)

## What it is
A local IMAP/POP/SMTP proxy written in Python that transparently adds OAuth 2.0 authentication for email clients that don't support it. It intercepts legacy login commands and replaces them with SASL OAuth 2.0 credentials, keeping old clients, scripts, and devices working with providers like Exchange Online, Gmail, and Yahoo.

## Use cases
- keep legacy email clients working with Office 365 after basic auth deprecation
- use Gmail via IMAP/POP/SMTP without app passwords
- add OAuth 2.0 support to email scripts that only do password login
- switch an existing email account to OAuth without re-adding it in the client
- connect old devices or apps to modern mail providers requiring OAuth

## When to choose
- your email client, script, or device cannot do OAuth 2.0 but your provider requires it
- you want a local, transparent proxy rather than changing mail infrastructure
- you need cross-platform support with a menu bar helper or headless service

## When to avoid
- your email client already supports OAuth 2.0 natively
- you need a server-side or multi-user hosted solution rather than a per-machine proxy
- you cannot run a local Python process alongside your mail client

## Facets
- artifact type: service
- maturity: active
- function: proxy, auth, email, security
- domain: email, privacy, self-hosted, developer-tools
- platform: windows, python, cross-platform
- tags: imap, smtp, pop3, oauth2, email-proxy, legacy-clients, office365, gmail, linux, macos

## Member repositories
- simonrob/email-oauth2-proxy (main) score 84

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:48.242801+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:35:07.055196+00:00, confidence not recorded.
  - readme: https://github.com/simonrob/email-oauth2-proxy (fetched 2026-08-28T04:04:48.242801+00:00, sha e5e0a4693cd6)
- Data as of 2026-08-30T08:39:29.467469+00:00.
