You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

151 lines
4.0KB

  1. {{ansible_managed|comment}}
  2. ### common settings
  3. # Debian specific: Specifying a file name will cause the first
  4. # line of that file to be used as the name. The Debian default
  5. # is /etc/mailname.
  6. smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
  7. biff = no
  8. # appending .domain is the MUA's job.
  9. append_dot_mydomain = no
  10. readme_directory = no
  11. # See http://www.postfix.org/COMPATIBILITY_README.html -- default to 2 on
  12. # fresh installs.
  13. compatibility_level = 2
  14. ### general settings
  15. myhostname = {{mailname}}
  16. alias_maps = hash:/etc/aliases
  17. alias_database = hash:/etc/aliases
  18. mydestination = $myhostname, {{inventory_hostname}}, localhost.localdomain, localhost
  19. relayhost =
  20. mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
  21. mailbox_size_limit = 0
  22. recipient_delimiter = +
  23. inet_interfaces = all
  24. inet_protocols = all
  25. ### TLS parameters
  26. smtpd_tls_cert_file={{postfix_certificate_fullchain_file}}
  27. smtpd_tls_key_file={{postfix_certificate_private_key_file}}
  28. smtpd_use_tls=yes
  29. smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
  30. smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
  31. smtp_tls_security_level = may
  32. ### transport configuration
  33. relay_domains = hash:/etc/postfix/transport_maps
  34. transport_maps = hash:/etc/postfix/transport_maps
  35. ### rules and restricitons
  36. message_size_limit = 52428800
  37. # some rules from http://www.postfix.org/SMTPD_ACCESS_README.html
  38. # Allow connections from trusted networks only.
  39. #smtpd_client_restrictions = permit_mynetworks, reject
  40. # Require that a remote SMTP client introduces itself
  41. #smtpd_helo_required = yes
  42. # Don't talk to mail systems that don't know their own hostname.
  43. #smtpd_helo_restrictions = reject_unknown_helo_hostname
  44. # Don't accept mail from domains that don't exist.
  45. #smtpd_sender_restrictions = reject_unknown_sender_domain
  46. # Spam control: exclude local clients and authenticated clients
  47. # from DNSBL and SPF lookups.
  48. smtpd_recipient_restrictions =
  49. permit_mynetworks,
  50. permit_sasl_authenticated,
  51. {% if postfix_check_spf %}
  52. check_policy_service unix:private/policyd-spf,
  53. {% endif %}
  54. {% if postfix_check_spamhaus %}
  55. reject_rbl_client zen.spamhaus.org,
  56. reject_rhsbl_reverse_client dbl.spamhaus.org,
  57. reject_rhsbl_helo dbl.spamhaus.org,
  58. reject_rhsbl_sender dbl.spamhaus.org
  59. {% endif %}
  60. # Relay control: local clients and authenticated clients
  61. # may specify any destination domain.
  62. smtpd_relay_restrictions =
  63. permit_mynetworks,
  64. reject_unauth_destination
  65. # Block clients that speak too early.
  66. smtpd_data_restrictions = reject_unauth_pipelining
  67. {% if postfix_check_spf %}
  68. policy-spf_time_limit = 3600
  69. {% endif %}
  70. {#
  71. # Enforce mail volume quota via policy service callouts.
  72. smtpd_end_of_data_restrictions = check_policy_service unix:private/policy
  73. #}
  74. ### DKIM and DMARC
  75. non_smtpd_milters =
  76. {% if postfix_with_opendkim %}
  77. unix:/run/opendkim/opendkim.sock,
  78. {% endif %}
  79. {% if postfix_with_opendmarc %}
  80. unix:/run/opendmarc/opendmarc.sock
  81. {% endif %}
  82. smtpd_milters =
  83. {% if postfix_with_opendkim %}
  84. unix:/run/opendkim/opendkim.sock,
  85. {% endif %}
  86. {% if postfix_with_opendmarc %}
  87. unix:/run/opendmarc/opendmarc.sock
  88. {% endif %}
  89. ### Virtual Domain Hosting
  90. virtual_alias_domains =
  91. hash:/etc/postfix/virtual_alias_domains,
  92. virtual_alias_maps =
  93. hash:/etc/postfix/virtual_alias_maps,
  94. {% if postfix_method == "postfixadmin" %}
  95. proxy:mysql:/etc/postfix/postfixadmin-sql/mysql_virtual_alias_maps.cf,
  96. proxy:mysql:/etc/postfix/postfixadmin-sql/mysql_virtual_alias_domain_maps.cf,
  97. proxy:mysql:/etc/postfix/postfixadmin-sql/mysql_virtual_alias_domain_catchall_maps.cf
  98. {% endif %}
  99. virtual_mailbox_domains =
  100. hash:/etc/postfix/virtual_mailbox_domains,
  101. {% if postfix_method == "postfixadmin" %}
  102. proxy:mysql:/etc/postfix/postfixadmin-sql/mysql_virtual_domains_maps.cf
  103. {% endif %}
  104. virtual_mailbox_maps =
  105. hash:/etc/postfix/virtual_mailbox_maps,
  106. {% if postfix_method == "postfixadmin" %}
  107. proxy:mysql:/etc/postfix/postfixadmin-sql/mysql_virtual_mailbox_maps.cf,
  108. proxy:mysql:/etc/postfix/postfixadmin-sql/mysql_virtual_alias_domain_mailbox_maps.cf
  109. {% endif %}
  110. virtual_transport = {{postfix_virtual_transport}}