Skip to content
MI-KY edited this page Dec 23, 2022 · 48 revisions

What SnappyMail is and what not

SnappyMail is a web-based email client you can use to access your mails on an IMAP server and send mails using an SMTP server. You can also filter your mails using SIEVE rules (for example an automatic vacation responder) if the mail server you use supports this.
As you can see SnappyMail relies on mail servers to work - it does not bring an own IMAP / SMTP server with it nor will it be able to cache your mails.
By configuring multiple domains in the admin panel you can enable the users of SnappyMail to retrieve their mails directly from different IMAP servers inside one web-based mail client.

SnappyMail has no user management where you can manage the users of SnappyMail. Because SnappyMail only acts as a mail client, the users need valid login credentials to authenticate against the IMAP server of their mail domain (like @example.com). If a user was able to authenticate SnappyMail will show his mails inside its user interface.
While this is fine when you're using your own (or a company) mail server, this would maybe create problems when you configure SnappyMail to connect to IMAP servers for mail addresses like *@gmail.com because everyone could use your SnappyMail installation to retrieve his mails from Gmail. Therefore in the configuration of SnappyMail you can whitelist only some mail addresses to retrieve their mails through SnappyMail.

If you experience slow performance inside of SnappyMail keep in mind that SnappyMail only interacts with the servers you defined inside the "Domain" configuration. Specially on large mailboxes the speed of the IMAP server is important and if it uses good indexes.
As you can see very often performance problems lay on the server side but you can fine tune SnappyMail with various settings to disable specific capabilities that cause slowdowns on some servers or set limits for the number of mails that gets fetched. We will see this options in the following menus.

SnappyMail does not store your login credentials to use it for automation and also does not have scheduled processes running on the server. This means you can't for example schedule to send mails on a specific time. SnappyMail will also not fetch automatically your mails from the IMAP servers when you're not logged in.

Structure of the data directory

TBD: description of folders and files inside the data directory of SnappyMail.

The SnappyMail Admin Panel

How to access the Admin Panel

After installing SnappyMail you can use the URL https://example.com/?admin to access the Admin Panel of SnappyMail.

Menu "General"

Menu "Domains"

When a user logs in with the username firstname@domain.tld, then SnappyMail should know how to connect to the IMAP & SMTP server of domain.tld. In the "Domains" section you can setup this IMAP/SMTP/SIEVE settings to use for different domains.

grafik

After opening this menu you will see a list of already configured domains. By clicking on the name of one entry you can open the configuration dialog for this domain. Beside the name of the domain you have also a garbage can symbol to delete a complete domain entry and a checkbox to disable domain settings temporarily.
If you don't have any domain configured yet, you can click on + Add Domain to create a new domain configuration.

TODO: insert updated image of settings dialog here grafik

In this dialog you first need to insert into the Name input box the domain-part of the mail addresses you're going to use for logging in at SnappyMail. Inserting example.com here will allow every user with a mail address at example.com to check his mails (you can limit the list of allowed users afterwards).

IMAP settings

Fieldname Description
Server The hostname of your IMAP server e.g. imap.example.com
Secure Setting on how the connection to the server has to be secured e.g. SSL/TLS
Port The port to use to connect to your IMAP server e.g. 993
Timeout Time to wait for a response from your IMAP server
Use short login Let the user login for example with bob@example.com at SnappyMail but use only bob as username to authenticate at the IMAP server. See also the important information in Menu Login when you need to use this setting
Require verification of SSL certificate Verify the certificate used by the IMAP server
Allow self signed certificates Normally a connection to a server with self signed certificates is not allowed - check this box if your server is using a self signed certificate
Disable capabilities SnappyMail uses various IMAP capabilities defined in various RFC (e.g. SORT, LIST...). In this section you can disable some IMAP functions when you're expiring problems or slowdowns retrieving your mails from the IMAP server. This clearly has side effects on how SnappyMail behaves but gives you more control
Limits For speeding up loading very big mailboxes or other special situations you can define a limit of mails that gets loaded from the server. When the message count inside a folder is bigger than the value configured here the system will not cache UID or use SORT for messages. Instead it will just fetch a range of messages based on index. This is faster but disables features like: threads, sort by date/size/subject

SMTP settings

Fieldname Description
Server The hostname of your SMTP server e.g. smtp.example.com
Secure Setting on how the connection to the server has to be secured e.g. SSL/TLS
Port The port to use to connect to your SMTP server e.g. 587
Timeout Time to wait for a response from your SMTP server
Use short login Let the user login for example with bob@example.com at SnappyMail but use only bob as username to authenticate at the SMTP server
Use authentication Uncheck this box if your SMTP server don't asks for authentication when sending an email
Use login as sender
Require verification of SSL certificate Verify the certificate used by the SMTP server
Allow self signed certificates Normally a connection to a server with self signed certificates is not allowed - check this box if your server is using a self signed certificate

SIEVE settings

Fieldname Description

Menu "Login"

Default domain

You can setup one domain that is automatically added to the username when the user tries to login by using a incomplete mail address (e.g. example.com). If for example only the username bob is passed to SnappyMail it would autocomplete the username to bob@example.com.

💡 If your IMAP server only accepts usernames without a domain (for example the ldap username of your user) the automatic addition of the "default domain" would block your users from logging in to your IMAP server - but on the other side it is needed by SnappyMail to determine the server settings to use. In such a case you must configure SnappyMail to strip off the domain part before sending the credentials to your IMAP server. This is done by entering to the SnappyMail Admin Panel -> Domains -> clicking on your default domain -> flagging the checkbox "Use short login" under IMAP and SMTP.

Menu "Branding"

Menu "Contacts"

Menu "Security"

Menu "Extensions"

Menu "Config"

Menu "About"