Skip to content
Snippets Groups Projects
Select Git revision
  • 4a0239a362e178a547d04c60c5ecf7074cd8cb12
  • master default protected
  • main
  • update_github_actions
  • 144_rocky8_support
  • 195-update-pdk-to-300
  • 144-rocky8
  • add_test_github_test_workflow
  • pdk_2.4.0
  • fix_unclosed_let_block_in_defines_client_spec
  • validation_fixes
  • freeradius_3_0_21_config_updates
  • data_types
  • PrepareBuster
  • travis
  • 4.0.1
  • 4.0.0
  • 3.9.2
  • 3.9.1
  • 3.9.0
  • 3.8.2
  • 3.8.1
  • 3.8.0
  • 3.7.0
  • 3.6.0
  • 3.5.0
  • 3.4.3
  • 3.4.2
  • 3.4.1
  • 3.4.0
  • 3.3.0
  • 3.2.0
  • 3.1.0
  • 3.0.0
  • 2.3.1
35 results

dictionary.header

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    mta.pp 1.69 KiB
    #
    # == Class: postfix::mta
    #
    # This class configures a minimal MTA, listening on
    # $postfix_smtp_listen (default to localhost) and delivering mail to
    # $postfix_mydestination (default to $fqdn).
    #
    # A valid relay host is required ($postfix_relayhost) for outbound email.
    #
    # transport & virtual maps get configured and can be populated with
    # postfix::transport and postfix::virtual
    #
    # Parameters:
    # - *$postfix_relayhost*
    # - *$postfix_mydestination*
    # - every global variable which works for class 'postfix' will work here.
    #
    # Example usage:
    #
    #   node 'toto.example.com' {
    #     $postfix_relayhost = 'mail.example.com'
    #     $postfix_smtp_listen = '0.0.0.0'
    #     $postfix_mydestination = '$myorigin, myapp.example.com'
    #
    #     include postfix::mta
    #
    #     postfix::transport { 'myapp.example.com':
    #       ensure => present,
    #       destination => 'local:',
    #     }
    #   }
    #
    class postfix::mta {
    
      case $postfix_relayhost {
        '':      { fail('Required $postfix_relayhost variable is not defined.') }
        default: {}
      }
    
      case $postfix_mydestination {
        '':      { $postfix_mydestination = '$myorigin' }
        default: {}
      }
    
      case $postfix_mynetworks {
        "":      { $postfix_mynetworks = "127.0.0.0/8" }
        default: {}
      }
    
      include postfix
    
      postfix::config {
        'mydestination':       value => $postfix_mydestination;
        'mynetworks':          value => $postfix_mynetworks;
        'relayhost':           value => $postfix_relayhost;
        'virtual_alias_maps':  value => 'hash:/etc/postfix/virtual';
        'transport_maps':      value => 'hash:/etc/postfix/transport';
      }
    
      postfix::hash { '/etc/postfix/virtual':
        ensure => present,
      }
    
      postfix::hash { '/etc/postfix/transport':
        ensure => present,
      }
    
    }