diff --git a/handlers/main.yml b/handlers/main.yml
index d9d57795c8abc9ce195e4f453e5464ad6fc19501..5ca759a0502b31642a2b9d1b1d917c2e145f250f 100644
--- a/handlers/main.yml
+++ b/handlers/main.yml
@@ -1,4 +1,14 @@
 ---
+- name: make postfix aliases.db
+  environment:
+    LC_MESSAGES: 'C'
+  command: make aliases.db
+  args:
+    chdir: /etc/postfix
+  register: result
+  notify: ['reload postfix']
+  changed_when: "result.stdout != \"make: 'aliases.db' is up to date.\""
+
 - name: make postfix transport.db
   environment:
     LC_MESSAGES: 'C'
@@ -9,6 +19,16 @@
   notify: ['reload postfix']
   changed_when: "result.stdout != \"make: 'transport.db' is up to date.\""
 
+- name: make postfix virtual.db
+  environment:
+    LC_MESSAGES: 'C'
+  command: make virtual.db
+  args:
+    chdir: /etc/postfix
+  register: result
+  notify: ['reload postfix']
+  changed_when: "result.stdout != \"make: 'virtual.db' is up to date.\""
+
 - name: make postfix
   environment:
     LC_MESSAGES: 'C'
diff --git a/tasks/main.yml b/tasks/main.yml
index d9441e4279c4c90b2fb436438383b4b8914bd500..a106ad5199469864996e1eba9faf81b5a2909b5d 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -27,6 +27,15 @@
     mode: 0644
   notify: ['make postfix']
 
+- name: Generate Postfix aliases map
+  template:
+    src: templates/aliases.in.js
+    dest: /etc/postfix/aliases.in
+    owner: root
+    group: root
+    mode: 0644
+  notify: ['make postfix aliases.db']
+
 - name: Generate Postfix transport map
   template:
     src: templates/transport.in.js
@@ -35,5 +44,15 @@
     group: root
     mode: 0644
   notify: ['make postfix transport.db']
+
+- name: Generate Postfix virtual aliases map
+  template:
+    src: templates/virtual.in.js
+    dest: /etc/postfix/virtual.in
+    owner: root
+    group: root
+    mode: 0644
+  notify: ['make postfix virtual.db']
+
 ...
 # vi: set ts=2 sts=2 sw=2 et ft=yaml: 
diff --git a/templates/Makefile.j2 b/templates/Makefile.j2
index deee71e2ce84707bd87e7592d5b072bbd19d1edd..fe5f3a621d7d490d2e216bf380c06dea13209892 100644
--- a/templates/Makefile.j2
+++ b/templates/Makefile.j2
@@ -2,7 +2,9 @@
 
 # Manage Postfix DB files idempotently
 
-MAPS = transport.db
+MAPS = aliases.db \
+       transport.db \
+       virtual.db
 
 all: $(MAPS)
 
diff --git a/templates/aliases.in.js b/templates/aliases.in.js
new file mode 100644
index 0000000000000000000000000000000000000000..ab0d77f8a01eee0704fff8c75f09247d62663145
--- /dev/null
+++ b/templates/aliases.in.js
@@ -0,0 +1,2 @@
+# {{ ansible_managed }}
+
diff --git a/templates/virtual.in.js b/templates/virtual.in.js
new file mode 100644
index 0000000000000000000000000000000000000000..ab0d77f8a01eee0704fff8c75f09247d62663145
--- /dev/null
+++ b/templates/virtual.in.js
@@ -0,0 +1,2 @@
+# {{ ansible_managed }}
+