This is an old revision of the document!


Installation Instructions For Exim

  • Created by Charles Blackburn “ai4ri” - ai4ri@winlink.org
    • Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free Software Foundation, Inc.
    • 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.
  • When usig exim, then be sure to build paclink-unix with the enable-postfix config:
./configure  --enable-postfix
  • this enables the correct command line options for the sendmail command.

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:
###########################################################################
## 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
  • this must go at the top of the file underneath the following lines:
# Macro defining the main configuration directory.
# We do not use absolute paths.
.ifndef CONFDIR
CONFDIR = /etc/exim4
.endif
  • 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.
chown -Rv Debian-exim.Debian-exim /usr/local/var/wl2k
  • restart exim:
/etc/init.d/exim4 restart
  • create a blank eximfilter.log file in the wl2k folder:
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
  • 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

# 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
plu/install_exim.1399068501.txt.gz · Last modified: 2014/05/02 15:08 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