110 lines
4 KiB
Text
110 lines
4 KiB
Text
divert(-1)dnl
|
|
dnl #
|
|
dnl # This file is managed by puppet so hand editing is not recommended.
|
|
dnl #
|
|
<% if ['CentOS','RedHat','Fedora'].index(@operatingsystem) -%>
|
|
include(`/usr/share/sendmail-cf/m4/cf.m4')dnl
|
|
<% elsif @operatingsystem == 'Ubuntu' -%>
|
|
include(`/usr/share/sendmail/cf/m4/cf.m4')dnl
|
|
<% end -%>
|
|
VERSIONID(`puppet sendmail::server')dnl
|
|
OSTYPE(`<%= @kernel.downcase -%>')dnl
|
|
dnl #
|
|
<% if @mail_smart_host -%>
|
|
define(`SMART_HOST', `<%= @mail_smart_host -%>')dnl
|
|
define(`MAIL_HUB', `<%= @mail_smart_host -%>')dnl
|
|
define(`LOCAL_RELAY', `<%= @mail_smart_host -%>')dnl
|
|
dnl #
|
|
<% end -%>
|
|
define(`confDEF_USER_ID', ``8:12'')dnl
|
|
define(`confTO_CONNECT', `1m')dnl
|
|
define(`confTRY_NULL_MX_LIST', `True')dnl
|
|
define(`confDONT_PROBE_INTERFACES', `True')dnl
|
|
define(`PROCMAIL_MAILER_PATH', `/usr/bin/procmail')dnl
|
|
define(`ALIAS_FILE', `/etc/aliases')dnl
|
|
define(`STATUS_FILE', `/var/log/mail/statistics')dnl
|
|
define(`UUCP_MAILER_MAX', `2000000')dnl
|
|
define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl
|
|
define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl
|
|
define(`confTO_IDENT', `0')dnl
|
|
dnl #
|
|
<% if @ssl_key and @ssl_cert -%>
|
|
define(`confAUTH_OPTIONS', `A p y')dnl
|
|
TRUST_AUTH_MECH(`<%= @sendmail_auth_mech.find_all{|mech| mech != 'EXTERNAL'}.join(' ') %>')dnl
|
|
define(`confAUTH_MECHANISMS', `<%= @sendmail_auth_mech.join(' ') %>')dnl
|
|
<% else -%>
|
|
define(`confAUTH_OPTIONS', `A')dnl
|
|
<% end -%>
|
|
dnl #
|
|
define(`confCACERT_PATH', `/etc/mail/certs')
|
|
<% if @ssl_key and @ssl_cert -%>
|
|
<% if @ssl_chain -%>
|
|
define(`confCACERT', `<%= scope.lookupvar('ssl::certs') %>/<%= @ssl_chain %>')
|
|
<% end -%>
|
|
define(`confSERVER_CERT', `<%= scope.lookupvar('ssl::certs') %>/<%= @ssl_cert %>')
|
|
define(`confSERVER_KEY', `<%= scope.lookupvar('ssl::private') %>/<%= @ssl_key %>')
|
|
define(`confCLIENT_CERT', `<%= scope.lookupvar('ssl::certs') %>/<%= @ssl_cert %>')
|
|
define(`confCLIENT_KEY', `<%= scope.lookupvar('ssl::private') %>/<%= @ssl_key %>')
|
|
<% end -%>
|
|
dnl #
|
|
FEATURE(`no_default_msa', `dnl')dnl
|
|
FEATURE(`smrsh', `/usr/sbin/smrsh')dnl
|
|
FEATURE(`mailertable', `hash -o /etc/mail/mailertable.db')dnl
|
|
FEATURE(`virtusertable', `hash -o /etc/mail/virtusertable.db')dnl
|
|
FEATURE(`genericstable', `hash -o /etc/mail/genericstable.db')dnl
|
|
GENERICS_DOMAIN_FILE(`/etc/mail/local-host-names')dnl
|
|
FEATURE(redirect)dnl
|
|
FEATURE(always_add_domain)dnl
|
|
FEATURE(use_cw_file)dnl
|
|
FEATURE(use_ct_file)dnl
|
|
dnl #
|
|
FEATURE(local_procmail, `', `procmail -t -Y -a $h -d $u')dnl
|
|
FEATURE(`access_db', `hash -T<TMPF> -o /etc/mail/access.db')dnl
|
|
FEATURE(`blacklist_recipients')dnl
|
|
<% if @sendmail_greetpause -%>
|
|
FEATURE(`greet_pause', `<%= @sendmail_greetpause %>')dnl
|
|
<% end -%>
|
|
EXPOSED_USER(`root')dnl
|
|
dnl #
|
|
<% if @sendmail_milter -%>
|
|
<% milters = @sendmail_milter.collect { |name,opts| name } -%>
|
|
DAEMON_OPTIONS(`Port=smtp, Name=MTA, M=A, InputMailFilters=<%= milters.join(",") %>')dnl
|
|
<% else -%>
|
|
DAEMON_OPTIONS(`Port=smtp, Name=MTA, M=A')dnl
|
|
<% end -%>
|
|
<% if @ssl_key and @ssl_cert -%>
|
|
DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl
|
|
<% end -%>
|
|
dnl #
|
|
LOCAL_DOMAIN(`localhost.localdomain')dnl
|
|
MASQUERADE_AS(`<%= @mail_domain %>')dnl
|
|
<% @masquerade_exception.each do |exception| -%>
|
|
MASQUERADE_EXCEPTION(`<%= exception %>')dnl
|
|
<% end -%>
|
|
FEATURE(masquerade_envelope)dnl
|
|
FEATURE(allmasquerade)dnl
|
|
FEATURE(masquerade_entire_domain)dnl
|
|
FEATURE(`accept_unresolvable_domains')dnl
|
|
dnl #
|
|
define(`confMATCH_GECOS')dnl
|
|
<% if @mail_smart_host -%>
|
|
define(`confDOMAIN_NAME', `<%= @homename %>')dnl
|
|
<% else -%>
|
|
define(`confDOMAIN_NAME', `<%= @mail_domain %>')dnl
|
|
<% end -%>
|
|
define(`confDONT_BLAME_SENDMAIL', `GroupWritableDirpathSafe,GroupWritableIncludeFileSafe,GroupWritableForwardFile,ForwardFileInGroupWritableDirPath')dnl
|
|
dnl #
|
|
<% if @sendmail_milter -%>
|
|
<% if milters.include?("spamass") -%>
|
|
define(`confMILTER_MACROS_ENVRCPT', `b, r, v, Z, 'confMILTER_MACROS_ENVRCPT)dnl
|
|
<% end -%>
|
|
<% @sendmail_milter.each do |name,opts| -%>
|
|
MAIL_FILTER<%= "(`%s', `%s')" % [name, opts] %>
|
|
<% end -%>
|
|
dnl #
|
|
<% end -%>
|
|
MAILER(smtp)dnl
|
|
MAILER(procmail)dnl
|
|
LOCAL_CONFIG
|
|
O ServerSSLOptions=+SSL_OP_NO_SSLv2 +SSL_OP_CIPHER_SERVER_PREFERENCE
|
|
O ClientSSLOptions=+SSL_OP_NO_SSLv2
|