###################################################################### # 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" and "List-*" headers are excluded from the signature process # if they are not already present, allowing mailing list servers to forward # messages without invalidating the signature. # Default _DKIM_SIGN_HEADERS: # https://github.com/Exim/exim/blob/042e558/src/src/pdkim/pdkim.h#L29-L36 # ref: https://www.spinics.net/lists/linux-media/msg138870.html # ref: https://lists.gt.net/exim/users/110610#110610 DKIM_SIGN_HEADERS = From:=Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:Content-Description:=Resent-Date:=Resent-From:=Resent-Sender:=Resent-To:=Resent-Cc:=Resent-Message-ID:In-Reply-To:References:=List-Id:=List-Help:=List-Unsubscribe:=List-Subscribe:=List-Post:=List-Owner:=List-Archive 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 = DKIM_SIGN_HEADERS # 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