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 categorieses the senders, contacts, segments, forms, templates, campaigns and api keys. This means that all the things mentioned above are separate for each project.
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.
You can use an smtp server to send emails.
You can use sendgrid to send emails just by providing the api.
You can easily send emails using amazon ses which is one of the most cheapest option.
You can also use mailgun to send emails.
Postmark is another option to send emails.
You can import, export, manually create or manage the contacts you want to send emails to.
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.
You can export all the contacts in the form of a csv file.
To add one contact you can add them manually. For few you can repeat the process.
You can categorise your contacts on the basis that they fulfill particular conditions. Like name, email, date, custom data etc.
The conditions which are inside a single outline must be fulfilled making up and condition.
The conditions in different outlines make up or conditions and atleast one should be fulfilled.
Forms allow users to get subscribed to receive emails of news and updates from you.
You can configure different options. For example you can edit the different text feilds of the form as shown below.
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 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.
You can change the colours of different elements of the form.
The output of the form is given below.
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.
You can give template a name and can spcify the signature in the template settings.
You can change the colours and styles of different text feilds and elements.
You can create campaigns in different formats like simple txt, markdown, block and mjml. The easiest one is block editor.
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.
The txt compaign supports normal text as well as liquid.
Markdown compaign also supports liquid but in addition it allows easier editing options.
Block is the most easiest way to make a compaign. You can easily add different things by just clicking.
Mjml is another option to create compaign with a language like html. It also contains tags similar to html. Learn more at mjml.io.
You can create api keys to use the api for many purposes. For more info checkout api usage docs page.
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.
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.
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.
You can selfhost AlainMails by using docker image "azamaziz/alainmails".
You can use the sample docker-compose file to self host AlainMails. You can check it out on github.
Variable | Required | Default | Description |
---|---|---|---|
DB_URL | yes | - | URL following the schema postgres://user:password@host/database |
DB_ENABLE_SSL | no | false | Use SSL/TLS for the database connection |
DB_VERIFY_SSL_HOST | no | true | Enable SSL hostname verification (disable if connecting to an IP directly) |
DB_CA_CERT | no | - | SSL certificate (PEM) for connecting to the database |
Variable | Required | Default | Description |
---|---|---|---|
KEILA_USER | root@localhost | Email address for the root user | |
KEILA_PASSWORD | random | Password for the root user |
Variable | Required | Default | Description |
---|---|---|---|
URL_HOST | yes | - | Domain of your Keila instance |
URL_PATH | / | Path of your Keila instance | |
URL_SCHEMA | http | http or https . URL scheme of your Keila instance | |
URL_PORT | 443 if URL_SCHEMA is https value of PORT otherwise | Port of your Keila instance |
Variable | Required | Default | Description |
---|---|---|---|
PORT | 4000 | Port on which Keila will listen | |
SECRET_KEY_BASE | yes | - | Strong secret with at least 64 characters. Can be generated with head -c 48 /dev/urandom | base64 |
HASHID_SALT | derived from SECRET_KEY_BASE | Salt for creating Hashids. More information | |
DISABLE_REGISTRATION | false | Disable user registration by setting this variable to true | |
DISABLE_PRECEDENCE_HEADER | false | Disable the Precedence: Bulk header by settings this variable to true | |
USER_CONTENT_DIR | ./uploads | Path 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. |
Variable | Required | Default | Description |
---|---|---|---|
MAILER_TYPE | smtp | Currently only smtp is supported | |
MAILER_SMTP_HOST | yes | - | Hostname of the SMTP server |
MAILER_SMTP_PORT | 587 | Port of the SMTP server | |
MAILER_SMTP_USER | yes | - | Username for the SMTP server |
MAILER_SMTP_PASSWORD | yes | - | Password for the SMTP server |
MAILER_SMTP_FROM_EMAIL | MAILER_SMTP_USER | FROM email address | |
MAILER_ENABLE_SSL | false | Enable SSL/TLS by setting to true | |
MAILER_ENABLE_STARTTLS | false | Enable STARTTLS by setting to true |
Variable | Required | Default | Description |
---|---|---|---|
CAPTCHA_PROVIDER | hcaptcha | Captcha provider, one of hcaptcha or friendly_captcha | |
CAPTCHA_SITE_KEY | - | Captcha provider site key | |
CAPTCHA_SECRET_KEY | - | Captcha provider secret key | |
CAPTCHA_URL | variable | Captcha 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?