Skip to content

Latest commit

 

History

History
59 lines (44 loc) · 2.33 KB

README.md

File metadata and controls

59 lines (44 loc) · 2.33 KB

Trash-email-alias

A dovecot sieve 's script and configuration to generate a temporary random alias.

Read more on my blog (french) https://blog-du-grouik.tinad.fr/post/2017/01/18/Alias-mail-temporaire

Usage

Just send an email to the configured em-mail generator. It will respond you and indicate what is your alias. You can test it by sending a mail to [ getalias Arobaze tinad.fr ].

Configure

You need an e-mail server with dovecot and sieve. The mail box structure is the classical one. Add a column named "temporary" type Boolean, default 0 to the table alias. So alias table structure is:

+-----------+--------------+------+-----+---------------------+-------+
| Field     | Type         | Null | Key | Default             | Extra |
+-----------+--------------+------+-----+---------------------+-------+
| address   | varchar(255) | NO   | PRI |                     |       |
| goto      | text         | NO   |     | NULL                |       |
| domain    | varchar(255) | NO   |     |                     |       |
| created   | datetime     | NO   |     | 0000-00-00 00:00:00 |       |
| modified  | datetime     | NO   |     | 0000-00-00 00:00:00 |       |
| active    | tinyint(1)   | NO   |     | 1                   |       |
| temporary | tinyint(1)   | NO   |     | 0                   |       |
+-----------+--------------+------+-----+---------------------+-------+

On /etc/dovecot/dovecot.conf my plugin section looks like:

  plugin {
(...)
sieve = ~/dovecot.sieve
sieve_after = /var/www/vmail/sieve/global.sieve
sieve_dir = ~/sieve
#vacation
sieve_extensions = +vacation-seconds
sieve_vacation_min_period = 30m
sieve_vacation_default_period = 10d
sieve_vacation_max_period = 30d

#ExtPrograms
sieve_plugins = sieve_extprograms
sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.filter +vnd.dovecot.execute

sieve_pipe_bin_dir = /etc/sieve-pipe/bin
sieve_filter_bin_dir = /etc/sieve-pipe/filter
sieve_execute_bin_dir = /etc/sieve-pipe/execute
(...)
  }

Copy this repo's files where they're needed ;)

Change your mysql credentials on cron/purge.sh and execute/genalias.sh In my case, this files are owned by the unix user "dovecot".

Add purge.sh on your crontab. Every 10 minutes is enougth.

Add the filters on yours sieve rules. Sample on this repo ./global.sieve file.