Dovel website repository.
Author: blmayer (bleemayer@gmail.com)
Date: Fri Sep 22 01:16:24 2023 -0300
Added index page
diff --git a/index.html b/index.html new file mode 100644 index 0000000..7d6945f --- /dev/null +++ b/index.html @@ -0,0 +1,168 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <title>dovel email</title> + <meta charset="UTF-8"> + <meta name="author" content="Brian Lee Mayer"> + <meta name="description" content="Dovel is a simple and extensible SMTP server that let's you send and receive email using a self hosted instance with minimum configuration. Dovel is free and open source software written in Go."> + <meta name="language" content="english"> + <meta name="keywords" content="email, dovel, blmayer, self host, software, smtp, web, interface"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta name="color-scheme" content="light dark"> + <style> +body { + max-width: 600px; + margin: 60px auto; + padding: 20px; + font-family: sans-serif; +} + +pre { + font-weight: bold; + background: lightgray; + padding: 8px; + border-radius: 8px; +} + +ol li { + padding-bottom: 10px; +} + +tt { + font-weight: bold; +} + +@media (prefers-color-scheme: dark) { + pre { + background: darkslategray; +} + </style> +</head> +<body> + <center> +<pre style="background:none"> +_________ ______ +______ /________ _________ / +_ __ /_ __ \_ | / / _ \_ / +/ /_/ / / /_/ /_ |/ // __/ / +\__,_/ \____/_____/ \___//_/ ________ + | ~~ # | + | --- | + '--------' + + + +</pre> + <i>Self host your email in 5 easy steps.</i> + <p> + <a href=https://goreportcard.com/report/blmayer.dev/x/dovel><img src=https://goreportcard.com/badge/blmayer.dev/x/dovel></a> +   + <a href=https://pkg.go.dev/blmayer.dev/x/dovel><img src=https://pkg.go.dev/badge/blmayer.dev/x/dovel.svg></a> + </p> + </center> + + <h2>About</h2> + Dovel is a SMTP server that sends and receives emails acording to a + simple configuration file. It also comes with an optional web interface + that you can use to browse your emails. It is designed to be simple and + easy to use, and will remain so. Dovel is great because: + + <ul> + <li> + Is lightweight: Uses only a few MBs of RAM and loads + pages super fast. + </li> + <li>Is easy to configure: Needs just one JSON file.</li> + <li>Is easy to use: The design is simple and extensible.</li> + <li>Supports DKIM</li> + <li>Supports PGP using the WKD standard</li> + </ul> + This project is under the BSD-3-Clause license, its code can be found + in our <a href=//git.derelict.garden/dovel/email>git repository</a>. + + <h3>Roadmap</h3> + Dovel is in early stages and in active development, this means there + is a lot to be done. The major features planned are as follows: + <ul> + <li><s>Support DKIM.</s></li> + <li><s>Multiple inboxes.</s></li> + <li><s>PGP support.</s></li> + <li><s>Multiple users.</s></li> + <li>Create http and ssh clients.</li> + </ul> + + The detailed development features and progress can be found on our + <a href=//git.derelict.garden/dovel/email/files/TODO.txt>TODO</a> file. + + <h2>Installation</h2> + To install <tt>dovel</tt> you need <tt>go</tt> propperly installed and + a port available, this guide works for MacOS, Linux and BSD systems. + <ol> + <li> + Install dovel by running: + <tt>go install git.derelict.garden/dovel/email/cmd/dovel@v0.9.0</tt>. + </li> + <li> + Configure dovel by creating the configuration file, an + example is provided below. Running <tt>dovel</tt> + is enough to start. + </li> + <li> + Configure your MX record in your domain registrar to + point to your server. This is needed to receive email. + </li> + <li> + Configure other DNS records as you wish in your domain + registrar such as PTR, SPF, DKIM or DMARC to improve + sending emails. Dovel supports DKIM by passing the key + path in the configuration file. + </li> + <li> + Create the handlers you want for each domain. This is + explained below. + </li> + </ol> + + <h3>Example configuration</h3> + The following configuration is enought to receive emails: Dovel needs + the file <tt>~/.config/dovel/config.json</tt> is order to work + correctly, otherwise it will use default settings which may not + suit you. The field <i>vaultFile</i> is optional for receiving emails. + <pre>{ + "port": "8000", + "domain": "dovel.email", + "vaultFile": "users.json" +}</pre> + + Dovel can handle email for different domains, so you can have multiple + inboxes. To achieve this handler files must be created in the + <kbd>~/.config/dove/hooks/</kbd> folder. The program will run the + corresponding hook passing the email as standard input. For example: + suppose your domain is <i>dovel.email</i>, emails addressed to + <i>joe@dovel.email</i> will be handled by a hook named + <kbd>reveive-dovel.email</kbd> and emails sent by this email are + handled by <kbd>send-dovel.email</kbd> likewise. + + <p> + To see all options please refer to the + <a href=//pkg.go.dev/git.derelict.garden/dovel/email> go docs</a>. + </p> + + <h2>Using</h2> + Using <tt>dovel</tt> email server is meant to be super easy: the server + uses the configuration above, you can add the vault file in order to + authenticate users that want to send emails. After creating the config + file, simply run <kbd>dovel</kbd> to start the server. + + <h2>Contributing</h2> + Sending bug reports, starting discussions and sending patches can be + done easily by email, this project follows the convention defined + on <a href=//git.derelict.garden>derelict garden's git</a>. + + <p> + Financial support is also greatly appreciated, you can donate + any amount by using this <a href=//ko-fi.com/blmayer>ko-fi</a> + link. Thank you! + </p> +</body> +</html>