This is a generic mailer. It can be used to send emails via a template. In a near future, it will be able to be a daemon so we can request it through libipc.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Philippe Pittoli aff4272baa
README: add some explanations.
10 months ago
src Update API for the email library. 10 months ago
templates README, default template repository, template example. 3 years ago
.gitignore Initial commit for the generic mailer. 3 years ago
README.md README: add some explanations. 10 months ago
shard.yml Fix dependency. 10 months ago

README.md

What

mailer is an application to send templated emails. Templates are in the Crinja format (a Jinja derivative).

# Get some help.
mailer -h

Sending a mail

# One-shot email transfer. "login" and "token" are template parameters.
# mailer send <template> <email>
FROM=no-reply@example.com \
	SUBJECT="Activate your email" \
	login=mypseudo \
	token=aabbccdd \
	mailer send activation-email user@home.com

By default, configuration is:

  • smtp deamon host is '127.0.0.1', port 25
  • template directory is /etc/mailer/templates/
  • FROM and SUBJECT (mail object) are retrieved from environment variables

So, in the previous example, without any configuration, the template activation-email refers to the file /etc/mailer/templates/activation-email.j2 (the j2 extension is for Jinja).

The /etc/mailer/templates/activation-email.j2 template could look like this:

Hello and welcome to example.com!

To activate your account, please follow the link bellow:
  https://example.com/user-activation/{{ login }}/{{ token }}

Thanks for trusting us!
Have a good day,
-- 
Staff of example.com.

Configuration

As most programs from Baguette repositories, a configuration file can be used. The configuration file should be either in $XDG_CONFIG_HOME/baguette/ (first guess) or in /etc/baguette/.

In mailer, this file is used to configure:

  • how to contact the smtp deamon (host and port)
  • what directory should be used for templates
  • FROM and SUBJECT email fields

An exhaustive example:

# ~/.config/baguette/mailer.yml

# SMTPd configuration.
smtpd_host: localhost
smtpd_port: 25

# Where to find templates, if not in the defaut directory (/etc/mailer/templates/).
templates_directory: /etc/mailer/templates

# Configuration for each template.
templates:
    # Template name, associated to the mail configuration: "from" and "subject" headers.
    # Template names match the template file name in the template directory.
    # In this example, the following template file is:
    # /etc/mailer/templates/example.com-mail-activation-en.j2
    example.com-mail-activation-en:
        from: no-reply@example.com
        subject: Account activation on the example.com website
    example.com-mail-recovery-en:
        from: no-reply@example.com
        subject: Mail recovery for the example.com website