###################################################################### # TRANSPORTS CONFIGURATION # ###################################################################### # ORDER DOES NOT MATTER # # Only one appropriate transport is called for each delivery. # ###################################################################### # A transport is used only when referenced from a router that successfully # handles an address. begin transports # This transport is used for delivering messages over SMTP connections. # Refuse to send any message with over-long lines, which could have # been received other than via SMTP. The use of message_size_limit to # enforce this is a red herring. remote_smtp: driver = smtp message_size_limit = ${if > {$max_received_linelength}{998} {1}{0}} # Sign outgoing mail with DKIM. # Only mail sent by authenticated users is signed, leaving forwarded mail untouched. # The "Sender" header is excluded from the signature process, allowing mailing list # servers to forward messages without invalidating the signature. # ref: https://www.spinics.net/lists/linux-media/msg138870.html .ifdef _DKIM_SIGN_HEADERS DKIM_SIGN_HEADERS = _DKIM_SIGN_HEADERS .else DKIM_SIGN_HEADERS = In-Reply-To:Content-Transfer-Encoding:Content-Type:MIME-Version:References:Message-ID:Subject:To:From:Date:Sender:Reply-To:Cc:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive .endif DKIM_PRIVATE_KEY_FILE = DKIMDIR/$dkim_selector._domainkey.$dkim_domain.pem signed_smtp: driver = smtp message_size_limit = ${if > {$max_received_linelength}{998} {1}{0}} dkim_domain = ${if def:authenticated_id {$sender_address_domain}} dkim_selector = $primary_hostname dkim_private_key = ${if exists{DKIM_PRIVATE_KEY_FILE}{DKIM_PRIVATE_KEY_FILE}{0}} dkim_canon = relaxed dkim_strict = yes dkim_sign_headers = ${filter{DKIM_SIGN_HEADERS}{!eq{$item}{Sender}}} # This transport is used for local delivery to user mailboxes in traditional # BSD mailbox format. By default it will be run under the uid and gid of the # local user, and requires the sticky bit to be set on the /var/mail directory. # Some systems use the alternative approach of running mail deliveries under a # particular group instead of using the sticky bit. The commented options below # show how this can be done. #local_delivery: # driver = appendfile # file = /var/mail/$local_part # delivery_date_add # envelope_to_add # return_path_add # group = mail # mode = 0660 remote_lmtp: driver = smtp protocol = lmtp port = 24 allow_localhost # This transport is used for handling pipe deliveries generated by alias or # .forward files. If the pipe generates any standard output, it is returned # to the sender of the message as a delivery error. Set return_fail_output # instead of return_output if you want this to happen only when the pipe fails # to complete normally. You can set different transports for aliases and # forwards if you want to - see the references to address_pipe in the routers # section above. address_pipe: driver = pipe return_output # This transport is used for handling deliveries directly to files that are # generated by aliasing or forwarding. address_file: driver = appendfile delivery_date_add envelope_to_add return_path_add # This transport is used for handling autoreplies generated by the filtering # option of the userforward router. #address_reply: # driver = autoreply