Coder Social home page Coder Social logo

fenix-es / raven-webmail Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ramiroaisen/raven-webmail

0.0 0.0 0.0 18.86 MB

A webmail for the wildduck mail server

License: GNU General Public License v3.0

JavaScript 0.52% TypeScript 25.40% CSS 1.69% HTML 0.68% Svelte 71.70%

raven-webmail's Introduction

Raven Webmail

A webmail for wildduck mailserver

Raven Webmail


Install

npm i -g raven-webmail

Configure

Create a default config file

  • config file is auto-documented
raven create-config [-o --output="./config.toml"]

Run

raven start [-c --config="./config.toml"]

Localization

User locale is detected from Accept-Language http header
Available locales
  • ✓ en, English (default)
  • ✓ es, Spanish
  • ✓ it, Italian (comunity) @ValoreAreaIT
Machine generated locales

Machine generated locales were removed in version 1.0. if you need to support a different locale use de create-locale command

Add custom locales

Uncomment the extra_locale_dirs entry in the config file and run this command to generate a default locale file that you can edit

Locales will be checked at startup and pretty warnings will be logged if any

Custom locales will override existing ones for the same ISO code

raven create-locale [-c --config="./config.toml"] --code ISOCode

ISO codes must be in the form of en or en-US like in Accept-Language header, not es_US

Please if you create a locale for your language make a PR or an issue and I will add it to the available locales


Changelog

Version 1.2.0

  • Raven now uses inter-tab notifications to broadcast login and logout from the same session (doesn't use the server for this any more). This change makes Raven now fully stateless.
  • Added community provided Italian locale, special thanks to @ValoreAreaIT for sharing their locale configuration.

Version 1.1.3

  • Raven will now allow users to customize their signature. The signature is stored in the wildduck user under metaData.ravenSignatureHTML. New entries were added to the base locales to support this feature.

Version 1.1

  • SSR has been disabled to avoid memory leaks when executing client side javascript in the server, you can enable SSR again if you want, you'll have to edit app/svelte.config.js and rebuild the app with npm run build

Version 1.0

  • Locale entries changed completely, if you created a custom locale you have to rewrite it.
  • Machine generated locales were removed.
  • Raven Webmail is now a SvelteKit app, with SSR, service-worker support and it's installable in modern browsers.
  • Added compression optional config option

Development

./src contains server side and cli typescript code that get compiled to ./dist

note that server code gets compiled with ttsc (typescript with transformers) instead of tsc to get runtime type checking in the io between client and server

./app contains the webmail SvelteKit app

./app is a subpackage with its own devDependencies (no runtime dependencies needed)

git clone https://github.com/ramiroaisen/raven-webmail
cd raven-webmail

# install server dependencies
npm i

# install app devDependencies
cd app && npm i

# build client and server
npm run build

# starts dev server 
# - if you changed the default port or protocol you have to 
# - update the ENV variables in ./app/package.json dev script
# - for this to work
npm run dev

# create default config file in ./config.toml
node raven create-config

# edit settings, then run the app
node raven start

If you find a bug or have a feature request start an issue in this repo

Are you using Raven Webmail in production? Let me know!

raven-webmail's People

Contributors

ramiroaisen avatar dependabot[bot] avatar willersonsp avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.