Install paclink-unix
- Configure a single MTA
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
plu:install_exim [2014/05/02 10:59] gunn [Installation Instructions for exim4 wl2k system filter] |
plu:install_exim [2016/04/14 08:34] gunn [Installation Instructions by Apostolos, SV1LJJ] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Installation Instructions For Exim ====== | ====== Installation Instructions For Exim ====== | ||
+ | ===== Installation Instructions by Charles, AI4RI ===== | ||
+ | * [[plu:install_exim:ai4ri | Install exim4-heavy for paclink-unix]] | ||
- | * Created by Charles Blackburn "ai4ri" - ai4ri@winlink.org | + | ===== Installation Instructions by Apostolos, SV1LJJ ===== |
- | * Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free Software Foundation, Inc. | + | * [[plu:install_exim:sv1ljj | Install exim4-light for paclink-unix]] |
- | * This file is free documentation; | + | |
- | * The Free Software Foundation gives unlimited permission to copy, distribute and modify it. | + | |
- | ===== Pre-installation requirements ===== | ||
- | * You must have installed the exim-heavy version of exim to enable support for server side filters. | ||
- | * **NOTE**: I am using a monolithic exim configuration file (/etc/exim4/exim4.conf.template). | ||
- | * If you are using the multiple config version of exim-config let me know. | ||
- | |||
- | |||
- | ===== Installation Instructions for exim4 wl2k system filter ===== | ||
- | |||
- | * place the file system.filter (see below) into the ///etc/exim4// directory. | ||
- | * cut and paste the following into the top of the ///etc/exim4/exim4.conf.template// file: | ||
- | |||
- | <file> | ||
- | ########################################################################### | ||
- | ## WINLINK 2000 Filter | ||
- | ########################################################################### | ||
- | system_filter = "/etc/exim4/system.filter" | ||
- | system_filter_user = Debian-exim # Set this to the user that exim runs as | ||
- | system_filter_group = Debian-exim # Set this to the group that exim runs as | ||
- | system_filter_pipe_transport = address_pipe | ||
- | system_filter_file_transport = address_file | ||
- | system_filter_reply_transport = address_reply | ||
- | system_filter_directory_transport = address_directory | ||
- | </file> | ||
- | |||
- | * this must go at the top of the file underneath the following lines: | ||
- | <file> | ||
- | # Macro defining the main configuration directory. | ||
- | # We do not use absolute paths. | ||
- | .ifndef CONFDIR | ||
- | CONFDIR = /etc/exim4 | ||
- | .endif | ||
- | </file> | ||
- | * make sure that the wl2k directories for paclink-unix are set for the debian username/group that exim is using. | ||
- | * By default this is Debian-exim.Debian-exim, this MUST be the same as system_filter_user and system_filter_group. | ||
- | |||
- | <code bash> | ||
- | chown -Rv Debian-exim.Debian-exim /usr/local/var/wl2k | ||
- | </code> | ||
- | |||
- | * restart exim: | ||
- | <code bash> | ||
- | /etc/init.d/exim4 restart | ||
- | </code> | ||
- | |||
- | * create a blank eximfilter.log file in the wl2k folder: | ||
- | <code bash> | ||
- | touch /usr/local/var/wl2k/eximfilter.log && chown Debian-exim.Debian-exim /usr/local/var/wl2k/eximfilter.log && \ | ||
- | chmod 666 /usr/local/var/wl2k/eximfilter.log | ||
- | </code> | ||
- | * all message processing by the filter will be logged into ///usr/local/var/wl2k/eximfilter.log// | ||
- | |||
- | ===== system.filter, EXIM MTA wl2k filter - exim's version of wl2k.m4 ===== | ||
- | |||
- | <file> | ||
- | # Exim filter <<== do not edit or remove this line! | ||
- | |||
- | # EXIM4 filter for paclink-unix WL2K software | ||
- | # | ||
- | # Created by Charles Blackburn "AI4RI" | ||
- | # | ||
- | # ai4ri@winlink.org - charlesb@cflpacket.net | ||
- | # | ||
- | # | ||
- | |||
- | ##----------------------------------------------------------------------- | ||
- | # only run any of this stuff on the first pass through the filter - this | ||
- | # is an optimisation for messages that get queued and have several delivery | ||
- | # attempts | ||
- | |||
- | if not first_delivery then | ||
- | finish | ||
- | endif | ||
- | ##----------------------------------------------------------------------- | ||
- | |||
- | ##----------------------------------------------------------------------- | ||
- | # if this is an error notification message, make sure it doesn't get lost | ||
- | if error_message then | ||
- | finish | ||
- | endif | ||
- | ##----------------------------------------------------------------------- | ||
- | |||
- | # Create a logfile of message IDs processed" | ||
- | logfile /usr/local/var/wl2k/eximfilter.log | ||
- | logwrite "-----------------------------------------------------------------------" | ||
- | logwrite "$tod_log SYSTEM.FILTER: Processing Message: $message_id" | ||
- | logwrite "From: $header_from ($sender_address) -> To: $header_to" | ||
- | logwrite "Subject: $h_subject" | ||
- | logwrite "Message size: $message_size bytes" | ||
- | |||
- | # Check if this is a message going to a winlink account *@winlink.org | ||
- | if | ||
- | $header_to: contains "@winlink.org" and # if it's going to a winlink account | ||
- | $sender_address: does not contain "root@" # AND it's NOT coming via paclink (will always have a sender of root@) | ||
- | then # it must be an outgoing wl2k message, so put into wl2k/outbox | ||
- | logwrite "$message_id is an OUTGOING WL2K Message" | ||
- | logwrite "Sending to pipe" | ||
- | unseen pipe "/usr/local/libexec/mail.wl2k" | ||
- | # unseen save /usr/local/var/wl2k/outbox/ | ||
- | logwrite "We're done here this time...." | ||
- | seen finish | ||
- | endif | ||
- | |||
- | # Check if this is a message coming from a winlink account *@winlink.org or via paclink | ||
- | if | ||
- | $header_to: contains "@winlink.org" and # it's coming FROM a winlink account (mail -r call@winlink.org) | ||
- | $sender_address: contains "root@" # AND it's coming via paclink (will always have a sender of root@) | ||
- | then # it must be an incoming wl2k message via paclink | ||
- | logwrite "$message_id is an INCOMING WL2K Message via paclink" | ||
- | unseen finish | ||
- | endif | ||
- | |||
- | # if it's FROM a winlink address (mail -r call@winlink.org) then send via pipe | ||
- | if | ||
- | $header_from: contains "@winlink.org" | ||
- | then | ||
- | logwrite "$message_id is a message going OUT from a winlink address" | ||
- | logwrite "Sending to pipe" | ||
- | unseen pipe "/usr/local/libexec/mail.wl2k" | ||
- | # unseen save /usr/local/var/wl2k/outbox/ | ||
- | seen finish | ||
- | endif | ||
- | |||
- | # end of filter - make sure that this message gets processed if it if it bombs out to here, it failed the above filters | ||
- | logwrite "$message_id is not a WL2K Message" | ||
- | unseen finish | ||
- | </file> |