Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ramblurr/nextcloud-filedrop
Catch incoming email and save the attachments to nextcloud (or any webdav backend)
https://github.com/ramblurr/nextcloud-filedrop
automation imap nextcloud python webdav webhooks
Last synced: 18 days ago
JSON representation
Catch incoming email and save the attachments to nextcloud (or any webdav backend)
- Host: GitHub
- URL: https://github.com/ramblurr/nextcloud-filedrop
- Owner: Ramblurr
- License: agpl-3.0
- Created: 2020-02-17T14:31:31.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T03:37:54.000Z (about 2 years ago)
- Last Synced: 2024-11-29T03:45:57.442Z (25 days ago)
- Topics: automation, imap, nextcloud, python, webdav, webhooks
- Language: Python
- Homepage:
- Size: 29.3 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# nextcloud-filedrop (NCFD)
> Catch incoming email and save the attachments to nextcloud (or any webdav backend).
This project is a simple HTTP service that accepts multipart form POSTs
containing structured email data. It validates the attachments and uploads them
to a Nextcloud folder based on the recipient. You can have
"[email protected]" route files to a separate folder than
"[email protected]".This service supports two incoming email sources:
* [py-imap-to-http](https://github.com/Ramblurr/py-imap-to-http) *recommended,
self-hosted imap watcher*
* Mailgun's [Inbound Routing](https://www.mailgun.com/inbound-routing/) *only
available with monthly subscription plan, not available on the pay as you go plan*## Get Going
Easiest way to get going is using docker.
1. Go fetch my fork of [py-imap-to-http](https://github.com/Ramblurr/py-imap-to-http)
2. Copy `docker-compose.sample.yml` to `docker-compose.yml`
3. Edit the `build: ../py-imap-to-http` line in the imap service to the location of the dir from step 1
4. Fill in your env vars.
5. `docker-compose up`## Development
This project requires Python 3, and the python deps in `requirements.txt`. Using
a virtualenv is recommended.```
cp env-sample .env
# Edit .env with your values
pip install -r requirements.dev.txt
```I recommend creating a specific nextcloud user to run this under rather than
your own account. Just share your inbox dirs to the user.The settings should be self explanatory, except `NCFD_ROUTES`.
`NCFD_ROUTES` should be a comma separated list of email, path pairs which
themselves are separated by colons. Each email represents a recipient, and the
path is the remote path in Nextcloud that attachments from the recipient will be
uploaded to. This lets you run multiple filedrop emails from one instance.### Run the thing
```
python -m ncfd
```# License
© 2020 Casey Link. GNU Affero General Public License v3 or later