# Self hosted Email to Note

**URL:** <https://discourse.joplinapp.org/t/self-hosted-email-to-note/48790>\
**Category:** Features\
**Created:** [23 February 2026 13:00 UTC](https://discourse.joplinapp.org/t/self-hosted-email-to-note/48790 "2026-02-23T13:00:59Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![khuongduy354](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/khuongduy354/32/20346_2.png) [@khuongduy354](https://discourse.joplinapp.org/u/khuongduy354)\
**Post date:** [23 February 2026 13:00 UTC](https://discourse.joplinapp.org/t/self-hosted-email-to-note/48790/1 "2026-02-23T13:00:59Z")

</div>

## Idea

Hi I'm thinking of self-hosting Email to Note service. The idea is that we use Github Action as a server to receive email and forward it directly to the Sync Target (WebDAV, OneDrive,...) with [joplin-sync-lib](https://github.com/khuongduy354/joplin-sync-lib).

```auto
┌──────────────┐ ┌─────────────────────┐ ┌───────────────────┐ ┌─────────────────┐
│ Email Source │────→│ Trigger (pick one) │────→│ GitHub Action │────→│ Cloud Storage │
│ (Gmail etc.) │ │ • Google Apps Script│ │ (this repo) │ │ • Joplin Server │
└──────────────┘ │ • Zapier webhook │ │ joplin-sync-lib │ │ • WebDAV │
                     │ • curl / any HTTP │ └───────────────────┘ │ • OneDrive │
                     └─────────────────────┘ │ • Google Drive │
                                                                           └─────────────────┘

```

## The test

I made a test here by enter the WebDAV credentials and (optional) folder id as Github secret variables, which is then used by Github Action script. Then I run a curl command to trigger the Github Action, the email is then received in Joplin Desktop client after synchronization.

I think we can replace the curl command with some Google App Scripts (if we use Gmail), which can automate the process email receiving.

I also add some caching for Github Action, which now takes ~15s per email received (previously 1 minute).

Repository: [GitHub - khuongduy354/selfhost-joplin-email-to-note](https://github.com/khuongduy354/selfhost-joplin-email-to-note)

## Conclusion

I'd appreciate to receive ideas from everyone, do you think it's useful for many people? Is there any cleaner approach for this ? Thank you.

---

<div class="post-metadata">

**Author:** ![bwillius](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/bwillius/32/12926_2.png) [@bwillius](https://discourse.joplinapp.org/u/bwillius)\
**Post date:** [28 February 2026 08:31 UTC](https://discourse.joplinapp.org/t/self-hosted-email-to-note/48790/2 "2026-02-28T08:31:51Z")

</div>

I’m the developer of Mail Archiver X which archives emails on macOS.

Emails have a surprisingly complex format. These days bugs are rare for my app. But I have a nice collection of bad emails.

How do you want to handle duplicate emails? A message ID should be unique but it’s not always the case.

Users have bad ideas™. Back in the days when Evernote was a thing I had some users save all their emails in Evernote. And some users have a lot of emails (\> 1mio). Is Joplin suited for a huge number of notes?

---

<div class="post-metadata">

**Author:** ![khuongduy354](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/khuongduy354/32/20346_2.png) [@khuongduy354](https://discourse.joplinapp.org/u/khuongduy354)\
**Post date:** [2 March 2026 17:06 UTC](https://discourse.joplinapp.org/t/self-hosted-email-to-note/48790/3 "2026-03-02T17:06:27Z")

</div>

Joplin is suited for huge number of notes because it is offline-first, data is store first in the local computer and it does synchronization gradually. Lots of mass import/export operations supported for multiple format.

Can you check this: [How large can I grow my Joplin data and for how long?](https://discourse.joplinapp.org/t/how-large-can-i-grow-my-joplin-data-and-for-how-long/27776).

Regarding the duplicate email issue: currently each email received create a new note with a newly generated id. Do you mean spam emails, emails with similar content when you mention duplicate email?

This is a Proof of Concept, I'm still asking people whether they need this kind of self-hosting service, so I haven't invested deeply in it yet.

---

<div class="post-metadata">

**Author:** ![bwillius](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/bwillius/32/12926_2.png) [@bwillius](https://discourse.joplinapp.org/u/bwillius)\
**Post date:** [2 March 2026 18:18 UTC](https://discourse.joplinapp.org/t/self-hosted-email-to-note/48790/4 "2026-03-02T18:18:16Z")

</div>

I meant the message id of the header of each email.
