Differences

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

Link to this comparison view

Next revision
Previous revision
plu:install_exim:ai4ri [2016/04/14 08:29]
gunn created
plu:install_exim:ai4ri [2016/04/14 08:52] (current)
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.1460647776.txt.gz · Last modified: 2016/04/14 08:29 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