+++ title = "Quick Start" weight = 0 sort_by = "weight" template = "documentation.html" +++ This quickstart guide will teach you how to run an in-memory instance of Aerogramme, because it is easier to run than a distributed real-world deployment. The goal here is that you get familiar with the software, you understand what it does and what it does not, so you can evaluate it. Once ready for a real deployment, you will find all the information you need in the cookbook. *Enjoy your reading!* ## What is Aerogramme Aerogramme is a [Message Delivery Agent (MDA)](https://en.wikipedia.org/wiki/Message_delivery_agent) that speaks the [IMAP protocol](https://en.wikipedia.org/wiki/Internet_Message_Access_Protocol). It makes sure that your mailbox, and thus your emails, are stored safely and stay in sync across all your devices. Aerogramme is not (yet) a [Message Transfer Agent (MTA)](https://en.wikipedia.org/wiki/Message_transfer_agent) as it does not speak the [SMTP protocol](https://fr.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol). It means you can't send email for example with Aerogramme alone, you need to plug it to a MTA, like [Postfix](https://www.postfix.org/) or [opensmtpd](https://www.opensmtpd.org/). The connection between Aerogramme and the MTA (Postix, opensmtpd, etc.) is done through a protocol named [LMTP](https://en.wikipedia.org/wiki/Local_Mail_Transfer_Protocol). ## Get a binary Aerogramme is shipped as a static binary for Linux only on `amd64`, `aarch64` and `armv6` architectures. For convenience, a docker container is also published both on Docker Hub and on Deuxfleurs' registry. Also, Aerogramme is an open-source software released under the [EUPL licence](https://commission.europa.eu/content/european-union-public-licence_en), and you can compile it yourself from the source. To get the latest version of Aerogramme and the precise download information, both for binary and source releases, go to the dedicated download page: To check if the binary you got is working, just launch it without any parameter, and an help message should be displayed like this one: ```text aerogramme 0.2.0 Alex Auvolat , Quentin Dufour A robust email server USAGE: aerogramme [OPTIONS] ... ``` ## Starting the daemon in development mode To start an in-memory daemon for evaluation purposes, you don't need any configuration file. Just run: ```bash aerogramme --dev provider daemon ``` Now Aerogramme is listening for IMAP on `[::1]:1143` and for LMTP on port `[::1]:1025`. A test account has been created with username `alice` and password `hunter2`. ## Connecting Thunderbird Now that we have Aerogramme acting as a Mail Delivery Agent, we want to connect our devices to it. For this quick start guide, we will use Thunderbird on desktop. On the create account page, start filling the fields. **Your full name:** `Alice` **Email address:** `alice@example.tld` **Password:** `hunter2` Then click on **Configure Manually**. New fields will appear, fill them as follow. **Protocol:** `IMAP` **Hostname:** `::1` **Port:** `1143` **Connection Security:** `None` **Authentication Method:** `Normal password` **Username:** `alice` *Aerogramme is not a SMTP server but Thunderbird will not let you configure an account without a SMTP server. You can lie to Thunderbird by putting any existing SMTP server (like `smtp.gmail.com`) and choose "No Authentication" for the Authentication method field.* A screenshot for reference: ![Thunderbird Account Creation Page filled with Aerogramme Quickstart configuration](/images/thunderbird-quickstart.png) Clic "Done" (or "Re-test" then "Done) and your account should be configured: ![Overview of the mailbox list in Thunderbird](/images/thunderbird-quickstart-mbx.png) As you can see, Thunderbird detected multiple mailboxes but they are all empty. You can copy emails from your other mailbox to fill your Aerogramme one, test search, add/remove flags, and so on. Mail reception will be emulated in the following section. ## Emulate the reception of an email Remember, Aerogramme is about managing your mailbox, not managing mail transfer. As this is an Aerogramme specific, the goal here is not to deploy Postfix, opensmtpd or any other MTA software. Instead we will emulate their action: forwarding the messages they received to Aerogramme through the LMTP protocol. Python natively supports the LMTP protocol, the following command this capability to deliver a fake email: ```bash python - <