aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README4
-rw-r--r--manifests/classes/postfix-amavis.pp7
-rw-r--r--manifests/classes/postfix-mta.pp6
-rw-r--r--manifests/classes/postfix.pp9
-rw-r--r--templates/master.cf.debian-etch.erb29
5 files changed, 51 insertions, 4 deletions
diff --git a/README b/README
index 964125f..c2b58e9 100644
--- a/README
+++ b/README
@@ -4,6 +4,10 @@ This module will help install and configure postfix.
A couple of classes will preconfigure postfix for common needs.
+Config
+------
+- set $postfix_amavis="true" to include postfix::amavis
+
== Example:
include postfix
diff --git a/manifests/classes/postfix-amavis.pp b/manifests/classes/postfix-amavis.pp
new file mode 100644
index 0000000..47ba532
--- /dev/null
+++ b/manifests/classes/postfix-amavis.pp
@@ -0,0 +1,7 @@
+class postfix::amavis {
+ include amavisd-new
+ postfix::config {
+ "content_filter": value => "smtp-amavis:[localhost]:10024"; }
+
+}
+
diff --git a/manifests/classes/postfix-mta.pp b/manifests/classes/postfix-mta.pp
index 9046bad..ff94c91 100644
--- a/manifests/classes/postfix-mta.pp
+++ b/manifests/classes/postfix-mta.pp
@@ -32,9 +32,9 @@
#
class postfix::mta {
- case $postfix_relayhost {
- "": { fail("Required \$postfix_relayhost variable is not defined.") }
- }
+ #case $postfix_relayhost {
+ # "": { fail("Required \$postfix_relayhost variable is not defined.") }
+ #}
case $postfix_mydestination {
"": { $postfix_mydestination = "\$myorigin" }
diff --git a/manifests/classes/postfix.pp b/manifests/classes/postfix.pp
index 8c4173e..a413664 100644
--- a/manifests/classes/postfix.pp
+++ b/manifests/classes/postfix.pp
@@ -41,6 +41,13 @@ class postfix {
"": { $root_mail_recipient = "nobody" }
}
+ case $postfix_amavis {
+ "": { $postfix_amavis = "false" }
+ "true": { include postfix::amavis }
+ }
+
+
+
package { ["postfix", "mailx"]:
ensure => installed
@@ -81,7 +88,7 @@ class postfix {
mode => "0644",
content => $operatingsystem ? {
Redhat => template("postfix/master.cf.redhat5.erb"),
- Debian => template("postfix/master.cf.debian-etch.erb"),
+ Debian,Ubuntu => template("postfix/master.cf.debian-etch.erb"),
},
seltype => $postfix_seltype,
notify => Service["postfix"],
diff --git a/templates/master.cf.debian-etch.erb b/templates/master.cf.debian-etch.erb
index 674682c..aa5f34f 100644
--- a/templates/master.cf.debian-etch.erb
+++ b/templates/master.cf.debian-etch.erb
@@ -75,3 +75,32 @@ mailman unix - n n - - pipe
flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
${nexthop} ${user}
+
+# Amavis
+<% if (postfix_amavis == "true" ) -%>
+
+## http://www.freespamfilter.org/FC4.html#_Toc110999176
+
+smtp-amavis unix - - y - 2 smtp
+ -o smtp_data_done_timeout=1200
+ -o smtp_send_xforward_command=yes
+ -o disable_dns_lookups=yes
+
+127.0.0.1:10025 inet n - y - - smtpd
+ -o content_filter=
+ -o local_recipient_maps=
+ -o relay_recipient_maps=
+ -o smtpd_restriction_classes=
+ -o smtpd_helo_restrictions=
+ -o smtpd_sender_restrictions=
+ -o smtpd_recipient_restrictions=permit_mynetworks,reject
+ -o mynetworks=127.0.0.0/8
+ -o strict_rfc821_envelopes=yes
+ -o smtpd_error_sleep_time=0
+ -o smtpd_soft_error_limit=1001
+ -o smtpd_hard_error_limit=1000
+ -o receive_override_options=no_header_body_checks
+<% else -%>
+# Amavis not configured
+<% end -%>
+