smtpd: Manual merge from parameterize branch

This commit is contained in:
Ossi Salmi 2015-05-04 10:11:05 +03:00
parent 8de3a4c16d
commit a8ebd9417c
3 changed files with 284 additions and 265 deletions

View file

@ -1,14 +1,14 @@
<% if @operatingsystem == "OpenBSD" -%>
listen on lo0
<% else -%>
listen on localhost
listen on lo
<% end -%>
table aliases db:<%= @aliases %>.db
<% if @relay -%>
accept from local for any relay via <%= @relay %><% if @mail_domain %> as "@<%= @mail_domain %>"<% end %>
<% if @mailrelay -%>
accept from local for any relay via <%= @mailrelay %><% if @maildomain %> as "@<%= @maildomain %>"<% end %>
<% else -%>
accept from local for local alias <aliases> deliver to mbox
accept from local for any relay<% if @mail_domain %> as "@<%= @mail_domain %>"<% end %>
accept from local for any relay<% if @maildomain %> as "@<%= @maildomain %>"<% end %>
<% end -%>

View file

@ -1,43 +1,47 @@
_mda = "\"<%= @mda %>\""
pki egress certificate "<%= scope.lookupvar('ssl::certs') %>/smtpd.crt"
pki egress key "<%= scope.lookupvar('ssl::private') %>/smtpd.key"
listen on lo0
listen on egress port smtp tls pki egress
listen on egress port submission auth tls-require pki egress
listen on egress port submission tls-require pki egress auth mask-source
table aliases db:/etc/mail/aliases.db
table clients db:/etc/mail/clients.db
<% @domains.each do |domain| -%>
table aliases.<%= domain %> db:/etc/mail/aliases.<%= domain %>.db
<% @domains.each do |dom| -%>
table aliases.<%= dom %> db:/etc/mail/aliases.<%= dom %>.db
<% end if @domains -%>
<% @virtual.each do |domain| -%>
table virtual.<%= domain %> db:/etc/mail/virtual.<%= domain %>.db
<% end if @virtual -%>
<% if @local == true -%>
<% @virtuals.each do |dom| -%>
table virtual.<%= dom %> db:/etc/mail/virtual.<%= dom %>.db
<% end if @virtuals -%>
<% if @custom -%>
# custom rules
<% @custom.each do |rule| -%>
<%= rule %>
<% end -%>
<% end -%>
# accept for localhost and our fqdn
accept from any for local alias <aliases> \
deliver to mda "<%= @mda %>"
<% end -%>
accept from any for local alias <aliases> deliver to mda $_mda
<% if @domains -%>
# accept for primary domains
<% @domains.each do |domain| -%>
accept from any for domain { "<%= domain %>", "*.<%= domain %>" } \
alias <aliases.<%= domain%>> \
deliver to mda "<%= @mda %>"
<% @domains.each do |dom| -%>
accept from any for domain { "<%= dom %>", "*.<%= dom %>" } \
alias <aliases.<%= dom %>> deliver to mda $_mda
<% end -%>
<% end -%>
<% if @virtual -%>
<% if @virtuals -%>
# accept for virtual domains
<% @virtual.each do |domain| -%>
accept from any for domain { "<%= domain %>", "*.<%= domain %>" } \
virtual <virtual.<%= domain%>> \
deliver to mda "<%= @mda %>"
<% @virtuals.each do |dom| -%>
accept from any for domain { "<%= dom %>", "*.<%= dom %>" } \
virtual <virtual.<%= dom %>> deliver to mda $_mda
<% end -%>
<% end -%>
# relay for remote clients and local users
accept from source <clients> for any relay<% if @mail_domain %> as "@<%= @mail_domain %>"<% end %>
accept from local for any relay<% if @mail_domain %> as "@<%= @mail_domain %>"<% end %>
accept from source <clients> for any relay<% if @maildomain %> as "@<%= @maildomain %>"<% end %>
accept from local for any relay<% if @maildomain %> as "@<%= @maildomain %>"<% end %>