98mux / inbox-zero

Open source email app to reach inbox zero fast.

Home Page:https://www.getinboxzero.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

My Email Hero

Open source email app to reach My Email Hero fast.
Website · Discord · Issues · Kanban

About

My Email Hero is an open-source email app whose goal is to help you reach My Email Hero fast with AI assistance.

Demo Video

My Email Hero demo

Key Features

  • Newsletter Cleaner: Easily manage and unsubscribe from newsletters.
  • AI Assistant: Auto respond, archive, label, and forward emails based on plain text prompt rules.
  • Cold Email Blocker: Automatically block cold emails.
  • Email Analytics: Track your email activity with daily, weekly, and monthly stats.
  • New Senders: Identify and block new spam senders.
  • Unreplied Emails: Keep track of emails awaiting responses.
  • Large Email Finder: Free up space by locating and deleting large emails.

Built with

Feature Requests

To request a feature open a GitHub issue. If you don't have a GitHub account you can request features here. Or join our Discord.

Getting Started for Developers

Contributing to the project

We have a public Kanban available here. Join our Discord to discuss tasks and check what's being worked on.

Requirements

The external services that are required are:

We use Postgres for the database.

You can run Postgres & Redis locally using docker-compose

docker-compose up -d # -d will run the services in the background

Create your own .env file:

cp apps/web/.env.example apps/web/.env
cd apps/web
pnpm install

Set the environment variables in the newly created .env. You can see a list of required variables in: apps/web/env.mjs.

The required environment variables:

  • NEXTAUTH_SECRET -- can be any random string (try using openssl rand -hex 32 for a quick secure random string)
  • GOOGLE_CLIENT_ID -- Google OAuth client ID. More info here
  • GOOGLE_CLIENT_SECRET -- Google OAuth client secret. More info here
  • TINYBIRD_TOKEN -- Admin token for your Tinybird workspace (be sure to create an instance in the GCP us-east4 region. This can also be changed via your .env if you prefer a different region).
  • OPENAI_API_KEY -- Standard OpenAI API key.

To run the migrations:

pnpm prisma migrate dev

Now run:

pnpm run dev

Or from the project root:

turbo dev

Open http://localhost:3000 to view it in your browser. To upgrade yourself to admin visit: http://localhost:3000/admin.

Setting up Tinybird

Follow the instructions here to setup the pipes and datasources.

Optional: If you want to store AI usage stats in Tinybird too, then do the same in /packages/tinybird-ai-analytics.

Set up push notifications via Google PubSub to handle emails in real time

Follow instructions here.

  1. Create a topic
  2. Create a subscription
  3. Grant publish rights on your topic

Set env var GOOGLE_PUBSUB_TOPIC_NAME. When creating the subscription select Push and the url should look something like: https://www.myemailhero.com/api/google/webhook or https://abc.ngrok-free.app/api/google/webhook where the domain is your domain.

To run in development ngrok can be helpful:

ngrok http 3000

And then update the webhook endpoint in the Google PubSub subscriptions dashboard.

To start watching emails visit: /api/google/watch/all.

About

Open source email app to reach inbox zero fast.

https://www.getinboxzero.com

License:GNU Affero General Public License v3.0


Languages

Language:TypeScript 93.0%Language:MDX 4.8%Language:JavaScript 2.0%Language:CSS 0.1%Language:PLpgSQL 0.1%Language:Shell 0.0%