AboutProjectsSendersContactsSegmentsFormsTemplatesCampaignsApi KeysSubscriptionsUpdatesDevelopmentSelfhost

About


       AlainMails is actaully a modified version of Keila with a different theme and some changes.



       Keila is an opensource newsletter tool. You can check it out on github.


Projects

       Projects categorieses the senders, contacts, segments, forms, templates, campaigns and api keys. This means that all the things mentioned above are separate for each project.


Senders

       You can create multiple senders like smtp, sendgrid, amazon ses, mailgun and postmark with different feilds like sender name, from address, from name, reply-to address and reply-to name as shown below.


Note that the from-address and the reply-to address should be of your domain or in the case if it is some other domain it should be configured. Unless it would result in a situation called spoofing and emails would land into spam.


Smtp

       You can use an smtp server to send emails.


Sengrid

       You can use sendgrid to send emails just by providing the api.


Amazon Ses

       You can easily send emails using amazon ses which is one of the most cheapest option.


Mailgun

       You can also use mailgun to send emails.


Postmark

       Postmark is another option to send emails.


Contacts

       You can import, export, manually create or manage the contacts you want to send emails to.


Import

       You can import the contacts in the form of csv file. There are three ways to import according to thier formats. The formats are Excel, LibreOffice and simple code as shown below.


Download

       You can export all the contacts in the form of a csv file.

Manual

       To add one contact you can add them manually. For few you can repeat the process.


Segments

       You can categorise your contacts on the basis that they fulfill particular conditions. Like name, email, date, custom data etc.

And Condition

       The conditions which are inside a single outline must be fulfilled making up and condition.


Or Condition

       The conditions in different outlines make up or conditions and atleast one should be fulfilled.


Forms

       Forms allow users to get subscribed to receive emails of news and updates from you.

Settings

       You can configure different options. For example you can edit the different text feilds of the form as shown below.


Feilds

       You can specify the the data you want the user to enter. It includes name, email, custom feilds and the option o select which should be optional or not.


Double Opt-in

       Double opt-in enables a user to subscribe after an email confirmation. In this way only authentic users can subscribe and no one can subscribe any other user's email.


Style

       You can change the colours of different elements of the form.


Output

       The output of the form is given below.


Templates

       You can create templates with signature and styles for markdown and block campaigns.

Note Always consider to add the unsubscribe link so that email clients consider the emails safe and they not go to spam.

Settings

       You can give template a name and can spcify the signature in the template settings.


Styles

       You can change the colours and styles of different text feilds and elements.


Campaigns

       You can create campaigns in different formats like simple txt, markdown, block and mjml. The easiest one is block editor.

Liquid Language

       The liquid language can be used to display dynamic content. There are a few examples like:
' {{ contact.email }} ' will display the user's email.
' {{ contact.first_name }} ' will display the first name of each user.
' {{ contact.last_name }} ' will display the last name of the user.
You can use ' Hey {{ contact.first_name | default: "there" }} '. In the case if there is no first name, it will automatically display ' Hey there '.
Learn more about liquid.

Txt

       The txt compaign supports normal text as well as liquid.


Markdown

       Markdown compaign also supports liquid but in addition it allows easier editing options.


Block

       Block is the most easiest way to make a compaign. You can easily add different things by just clicking.


Mjml

       Mjml is another option to create compaign with a language like html. It also contains tags similar to html. Learn more at mjml.io.


Api Keys

       You can create api keys to use the api for many purposes. For more info checkout api usage docs page.


Subscriptions

       You can get a subscription in the account. If you want to change subscription you can just cancel current subscription and get a new one.


Updates

       As the project is built form opensource, it often get updates. Any important update will get implemented as soon as possible. Other wise will be updated when a new version comes.

Development

       As the project is built form opensource, it needs development. If you think of an idea that could be paractical and an enhancement, consider suggesting it on github.

Selfhost

       You can selfhost AlainMails by using docker image "azamaziz/alainmails".


Docker Compose

       You can use the sample docker-compose file to self host AlainMails. You can check it out on github.


Configuration


Database


VariableRequiredDefaultDescription
DB_URLyes-URL following the schema postgres://user:password@host/database
DB_ENABLE_SSLnofalseUse SSL/TLS for the database connection
DB_VERIFY_SSL_HOSTnotrueEnable SSL hostname verification (disable if connecting to an IP directly)
DB_CA_CERTno-SSL certificate (PEM) for connecting to the database


Root User


VariableRequiredDefaultDescription
KEILA_USERroot@localhostEmail address for the root user
KEILA_PASSWORDrandomPassword for the root user


URL


VariableRequiredDefaultDescription
URL_HOSTyes-Domain of your Keila instance
URL_PATH/Path of your Keila instance
URL_SCHEMAhttphttp or https. URL scheme of your Keila instance
URL_PORT443 if URL_SCHEMA is https
value of PORT otherwise
Port of your Keila instance


Deployment


VariableRequiredDefaultDescription
PORT4000Port on which Keila will listen
SECRET_KEY_BASEyes-Strong secret with at least 64 characters. Can be generated with head -c 48 /dev/urandom | base64
HASHID_SALTderived from SECRET_KEY_BASESalt for creating Hashids. More information
DISABLE_REGISTRATIONfalseDisable user registration by setting this variable to true
DISABLE_PRECEDENCE_HEADERfalseDisable the Precedence: Bulk header by settings this variable to true
USER_CONTENT_DIR./uploadsPath to a directory where user uploads will be stored. When deploying using containers, this should point to the path of a volume to make sure uploads are persisted.
USER_CONTENT_BASE_URL-Base URL at which files in USER_CONTENT_DIR are available on the web. It’s recommended to set up a separate server (such as Nginx or Apache) to serve user content. If not set, Keila wil serve user content files directly.


System mailer


VariableRequiredDefaultDescription
MAILER_TYPEsmtpCurrently only smtp is supported
MAILER_SMTP_HOSTyes-Hostname of the SMTP server
MAILER_SMTP_PORT587Port of the SMTP server
MAILER_SMTP_USERyes-Username for the SMTP server
MAILER_SMTP_PASSWORDyes-Password for the SMTP server
MAILER_SMTP_FROM_EMAILMAILER_SMTP_USERFROM email address
MAILER_ENABLE_SSLfalseEnable SSL/TLS by setting to true
MAILER_ENABLE_STARTTLSfalseEnable STARTTLS by setting to true


Captcha


VariableRequiredDefaultDescription
CAPTCHA_PROVIDERhcaptchaCaptcha provider, one of hcaptcha or friendly_captcha
CAPTCHA_SITE_KEY-Captcha provider site key
CAPTCHA_SECRET_KEY-Captcha provider secret key
CAPTCHA_URLvariableCaptcha provider verification URL, defaults to https://hcaptcha.com/siteverify for hcaptcha and https://api.friendlycaptcha.com/api/v1/siteverify for friendly_captcha


Wanna Know More?

Then Signup and Discover!

Signup