Comments (9)
I know you guys just decided to pause on this, but I'd like to add my voice to the request. I broke up with Gmail a long time ago and have been missing out on so many good tools as a result. It's something I'd be very open to contributing to if you guys are open/prepared for contributors.
Hey, open to this feature being implemented if it's broken down into smaller pieces.
Starting with a small POC and moving on to a full implementation.
What we'd need:
- Ability to login with email/password
- A lot of the gmail functionality is in the
utils/gmail
folder, but not all of it. Probably moving all gmail calls to this folder would make sense. And it could even become its own package in our Turborepo. - Abstracting all the gmail functions so that when we do something like
getThreads()
, it doesn't matter whether it's getting the data from Gmail or iMap.
What I'd imagine a POC to do:
- Choose one screen where we display emails. eg. the newsletter screen
- Replace getThreads() with a generic getThreads that can pull from an imap.
- Hopefully this still shows the same emails once implemented.
- No need to update log in screen at this first stage of POC. Can just hardcode / use env vars to set the imap username and password.
Might be worth opening a test gmail account, and using imap on that just to make sure we're getting the same data back.
Challenges
Things won't map 1:1 with Gmail API, so we'd have to figure out how to handle the differences.
Might also be slowness if we use imap without caching email data, but we don't need to optimise for this at this stage. Can figure that out later.
Also worth a look:
https://github.com/postalsys/emailengine
"Headless email client application that makes IMAP and SMTP resources available over REST."
from inbox-zero.
I've started pulling what currently exists into Figma for us to use in planning how this feature will work. I'll be drafting some ideas to highlight how onboarding and initial configuration will work.
from inbox-zero.
IMAP would be incredible, as it would open this up to nearly all other email services, however if there are aspects of the IMAP API that make it difficult to implement, you might want to consider looking at JMAP, a newer protocol that's closer to the modern Google Gmail API in terms of its capabilities, doing things like better server-side indexing, handling of labels, etc. Not many providers are yet, but it'd be a surefire way to get Fastmail users enthusiastically adopting it.
from inbox-zero.
IMAP would be incredible, as it would open this up to nearly all other email services, however if there are aspects of the IMAP API that make it difficult to implement, you might want to consider looking at JMAP, a newer protocol that's closer to the modern Google Gmail API in terms of its capabilities, doing things like better server-side indexing, handling of labels, etc. Not many providers are yet, but it'd be a surefilre way to get Fastmail users enthusiastically adopting it.
Thanks for sharing! It seems like few providers support JMAP right now. Do you know which email providers do? May make more sense to stick with IMAP till we get that mainstream adoption.
from inbox-zero.
Let's put this on hold. It's a really big feature. Changes so much of the app till we can support this :(
from inbox-zero.
I know you guys just decided to pause on this, but I'd like to add my voice to the request. I broke up with Gmail a long time ago and have been missing out on so many good tools as a result. It's something I'd be very open to contributing to if you guys are open/prepared for contributors.
from inbox-zero.
I know you guys just decided to pause on this, but I'd like to add my voice to the request. I broke up with Gmail a long time ago and have been missing out on so many good tools as a result. It's something I'd be very open to contributing to if you guys are open/prepared for contributors.
Hey, open to this feature being implemented if it's broken down into smaller pieces. Starting with a small POC and moving on to a full implementation.
What we'd need:
- Ability to login with email/password
- A lot of the gmail functionality is in the
utils/gmail
folder, but not all of it. Probably moving all gmail calls to this folder would make sense. And it could even become its own package in our Turborepo.- Abstracting all the gmail functions so that when we do something like
getThreads()
, it doesn't matter whether it's getting the data from Gmail or iMap.What I'd imagine a POC to do:
- Choose one screen where we display emails. eg. the newsletter screen
- Replace getThreads() with a generic getThreads that can pull from an imap.
- Hopefully this still shows the same emails once implemented.
- No need to update log in screen at this first stage of POC. Can just hardcode / use env vars to set the imap username and password.
Might be worth opening a test gmail account, and using imap on that just to make sure we're getting the same data back.
Challenges
Things won't map 1:1 with Gmail API, so we'd have to figure out how to handle the differences. Might also be slowness if we use imap without caching email data, but we don't need to optimise for this at this stage. Can figure that out later.
Also worth a look:
https://github.com/postalsys/emailengine "Headless email client application that makes IMAP and SMTP resources available over REST."
I'm going to start getting comfortable with the codebase and taking a look at putting something together if there's anything else you'd like to shareβor if you have a preferred process for checking in on progress so I don't get too far out in a wrong direction. πͺπ»
from inbox-zero.
I self host exchange. While IMAP is more universal, how hard would it be to support activesync or OWA? Wondering of it's closer to Gmail api
from inbox-zero.
I've started pulling what currently exists into Figma for us to use in planning how this feature will work. I'll be drafting some ideas to highlight how onboarding and initial configuration will work.
Very cool!
from inbox-zero.
Related Issues (20)
- Bug: emails being formatted differently in Gmail and IZ
- Discord links are dead HOT 4
- Mail view: show labels HOT 6
- Cancel Lemon Squeezy subscription when a user deletes their account
- Simple mode: when you complete the flow you should see a share on Twitter button
- Simple mode: email should disappear after you click unsubscribe HOT 4
- Simple mode: you should be able to do more actions
- Bug: if a user has a lot of planned emails this causes an error on the Automation=>Planned tab
- Bug? Unsubcribe mode for some users not working on mobile? HOT 2
- Bug: forwarding emails from Mail client doesn't include the body
- Bug: Simple mode: When archiving an email it doesn't remove it from the list of emails
- When archiving an email it should jump to the next email in the list HOT 2
- When showing opening an email thread, read emails should be closed
- Simple mode: auto jump to next page if no emails to show HOT 2
- Bug: Signin button pops when switching to other page
- Bulk unsubscribe page: delete/archive all emails from sender in one click HOT 2
- FR: Dockerized version of app? HOT 3
- Replace autocomplete for contacts HOT 7
- Largest items in inbox - Size is NaN HOT 1
- support local AI model HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from inbox-zero.