Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Last revision Both sides next revision
plu:install_exim:ai4ri [2016/04/14 08:29]
gunn created
plu:install_exim:ai4ri [2016/04/14 08:40]
gunn [Pre-installation requirements]
Line 1: Line 1:
-====== Installation Instructions for exim-heavy by Charles AI4RI ======+====== Installation Instructions for exim4-daemon-heavy by Charles AI4RI ======
   * Created by Charles Blackburn "​ai4ri"​ - ai4ri@winlink.org   * Created by Charles Blackburn "​ai4ri"​ - ai4ri@winlink.org
     * Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free Software Foundation, Inc.     * Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free Software Foundation, Inc.
Line 11: Line 11:
     * If you are using the multiple config version of exim-config let me know.     * If you are using the multiple config version of exim-config let me know.
  
-  * When using Exim, be sure to build paclink-unix with the enable-postfix config:+  * When using Exim, be sure to [[plu:​install_plu#​build_paclink-unix | build paclink-unix]] with the enable-postfix config:
 <code bash> <code bash>
 ./​configure ​ --enable-postfix ./​configure ​ --enable-postfix
 </​code>​ </​code>​
   * this enables the correct command line options for the sendmail command.   * this enables the correct command line options for the sendmail command.
 +
 +===== Installation Instructions for exim4 wl2k system filter =====
 +
 +  * place the file [[#​systemfilter_exim_mta_wl2k_filter_-_exim_s_version_of_wl2km4 | 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>​
 +
plu/install_exim/ai4ri.txt ยท Last modified: 2016/04/14 08:52 by gunn
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0