From 20423bd1dbbc64405a6c6a134ad5525073f833a3 Mon Sep 17 00:00:00 2001 From: Ossi Salmi Date: Tue, 30 Jul 2013 23:28:50 +0300 Subject: [PATCH] smtpd: Added relaying for clients --- smtpd/files/empty | 0 smtpd/manifests/init.pp | 19 +++++++++++++++++++ smtpd/templates/server.conf.erb | 7 +++---- 3 files changed, 22 insertions(+), 4 deletions(-) create mode 100644 smtpd/files/empty diff --git a/smtpd/files/empty b/smtpd/files/empty new file mode 100644 index 0000000..e69de29 diff --git a/smtpd/manifests/init.pp b/smtpd/manifests/init.pp index 02923c8..844433e 100644 --- a/smtpd/manifests/init.pp +++ b/smtpd/manifests/init.pp @@ -173,6 +173,25 @@ class smtpd::server( before => Service["smtpd"], } + file { "/etc/mail/clients": + ensure => present, + mode => "0644", + owner => "root", + group => "wheel", + source => [ + "puppet:///files/mail/clients.${::homename}", + "puppet:///files/mail/clients", + "puppet:///modules/smtpd/empty", + ], + } + exec { "makemap -t set clients": + refreshonly => true, + cwd => "/etc/mail", + path => "/bin:/usr/bin:/sbin:/usr/sbin", + subscribe => File["/etc/mail/clients"], + before => Service["smtpd"], + } + if $domains { smtpd::aliases { $domains: gecos => $gecos, diff --git a/smtpd/templates/server.conf.erb b/smtpd/templates/server.conf.erb index a881d32..34cab56 100644 --- a/smtpd/templates/server.conf.erb +++ b/smtpd/templates/server.conf.erb @@ -1,9 +1,7 @@ listen on egress port smtp tls certificate server listen on egress port submission tls-require certificate server auth -<% if @domains or @virtual -%> -# alias and virtual maps -<% end -%> +table clients db:/etc/mail/clients.db <% @domains.each do |domain| -%> table aliases.<%= domain %> db:/etc/mail/aliases.<%= domain %>.db <% end if @domains -%> @@ -35,5 +33,6 @@ accept from any for domain { "<%= domain %>", "*.<%= domain %>" } \ <% end -%> <% end -%> -# relay for local and authenticated users +# relay for remote clients and local users +accept from for any relay<% if @mail_domain %> as "@<%= @mail_domain %>"<% end %> accept from local for any relay<% if @mail_domain %> as "@<%= @mail_domain %>"<% end %>