FollowMeEmail Open Source
Software & Documentation Distribution Center
Neda Document Number: 105-102-07
Last Updated: 2000/03/23 20:34:26
Doc. Revision: 1.3

Neda Communications, Inc.

October 1999


Contents


List of Figures

Acknowledgements

FollowMeEmail is based upon three open-source software packages: Fetchmail, by Eric Raymond et al, Procmail by Stephen R. Van der Berg et al., and the EMSD server agent by Neda Communications, Inc.

The NT port of FollowMeEmail would have been much more difficult (if not completely infeasible) without Cygnus Solutions' CygWin package. With CygWin we found it almost trivial to produce running versions of Fetchmail and Procmail on NT.

We're deeply grateful for the existence of all these tools and to all the people who've brought them into being.

For more information on Fetchmail, see the Fetchmail home page http://www.tuxedo.org/esr/fetchmail.

Information on Procmail is available at http://www.procmail.org

CygWin information is at http://www.cygnus.com/cygwin.

More information on EMSD can be found at http://www.emsd.org.

1 Introduction

1.1 Overview of FollowMeEmail

Figure 1: FollowMeEmail - Service Model
FollowMeEmail - Service Model

1.2 System Requirements

FollowMeEmail is currently supported on Solaris (version 2.5.1 and higher) and on Windows NT 4.0. A Linux port should be easy, since two of the three pieces (fetchmail and procmail) already run on Linux. We haven't done portation and testing yet for the package as a whole on Linux; if you want to do this and send us the results, please do! We'll make them available as part of the standard distribution.

The NT 4.0 port requires the CygWin package, available from Cygnus Solutions at www.cygnus.com/cygwin. We used the beta 20.1 version for development, but there's also now a released supported version available.

1.3 FollowMeEmail Components

FollowMeEmail consists of three pieces:

Fetchmail, for retrieving messages;

Procmail, for filtering and forwarding;

The EMSD server agent: A message transfer agent for sending messages to wireless devices. Sendmail or other LAN-based message transfer agents may also be used with FollowMeEmail.

1.4 What is Open Source FollowMeEmail?

FollowMeEmail is a collection of mail-related Open Source and Free Software packages which has been bundled in a consistent and cohesive way. FollowMeEmail is about:

Figure 2: FollowMeEmail - Message Center Model
FollowMeEmail - MessageModel

1.5 What is Server FollowMeEmail?

1.6 What is Client FollowMeEmail?

1.6.1 User Agents

The FollowMeEmail system has the ability to watch over all incoming messages from your own desktop. Its continuous monitoring capability is able to track all of your messages, filter them, and manage them in the way you want it. Several advantages of having FollowMeEmail in the system are:

There are two modes of FollowMeEmail:

  1. Completely Passive: this mode does not interfere with the user's main mail applications. This mode only uses FollowMeEmail as a tracking device in monitoring all the incoming messages.

  2. Integrated with the mail user agent: this mode can use all of the optional features that are avilable in FollowMeEmail in addition to the user's main mail applications.

Figure 3 is the overview of FollowMeEmail. As you can see in Figure 3, you do not need to be at work or in front of your desktop all the time to receive important and urgent email. With FollowMeEmail, all of the important and urgent messages will be forwarded and delivered to your Palm device, pager, cellular phone, fax, etc.

Figure 3: Overview of FollowMeEmail
Overview of FollowMeEmail

1.6.2 Filters and Forwarders

FollowMeEmail is based upon two well-known open-source tools: fetchmail and procmail.

6.2.1 Fetchmail

Fetchmail is a mail-retrieval and forwarding utility. Fetchmail allows remote access to a user's mail via any existing Internet mail-retrieval protocol, including any flavor of IMAP or POP. It can then forward the mail to any SMTP- or ESMTP-compliant mail server, or directly to a mail delivery agent like procmail. Some other useful tools of Fetchmail are:

Fetchmail supports every email-related protocol known to humanity and can be run as a background daemon or from the command line. There's also a GUI-based configuration tool available for its text-based command file.

For much more information, see the fetchmail home page at http://www.tuxedo.org/esr/fetchmail.

6.2.2 Procmail

Procmail is a dazzlyingly flexible mail filtering tool, which can split different mail into different folders (to sort mailing lists, for example), junk spam, run any program on receipt of any kind of mail, etc., etc.

Procmail is an unparalleled suite of email filtering tools, allowing you to do things like:

There is an add-on package to Procmail called SmartList that's our favorite for maintaining email mailing lists.

For more information on Procmail, see the procmail home page at http://www.procmail.org

Cygwin and the NT port

Both Fetchmail and Procmail were originally developed for Unix. Neither would have been easy (or perhaps even possible!) to port to NT without the help of CygWin, a tool from Cygnus Solutions that's designed to allow one to do just this sort of thing: port open-source Unix software to NT.

Web Interface

Both fetchmail and procmail are a bit complex to configure for the nontechnical user, so we provide a web interface to allow the user to manipulate both tools to accomplish common forwarding and filtering tasks.

Sophisticated users still have access to the raw configuration files and can make fetchmail and procmail sit up and beg should they wish.

1.7 What is FollowMeEmail Subscriber Services?

1.8 Support for FollowMeEmail Software

1.8.1 Neda Communications, Inc.

1.9 Open Source & Free Software Policies

More and more people are becoming ``open-source'' believer. The open-source community has proposed the use of open-source development model as one possible way to face many challenges in growing the business in today's fast-moving and competitive industry environment.

1.10 Server Side Platform Selection Policies

1.11 Client Side Platform Selection Policies

1.12 Source Distribution Policies

1.13 Binary Distribution Policies

1.14 Packaging Strategy

1.14.1 Capability Versus Policy

1.15 Services Software Based on FollowMeEmail

1.16 FollowMeEmail Mailing Lists

2 FollowMeEmail Packages

2.1 Message Center Packages

2.2 User Environments

2.2.1 Eindows CE User Agents

2.2.2 Emacs Office Environment

2.3 Desktop Tools

2.3.1 Windows NT Filters and Forwarders

2.4 Developer Tools

3 Architecture

Figure 4 shows the architecture of Neda's Open Source Message Center on the server-side. As shown in Figure 4, all of the available components can interface with the adopted software that are available outside of Neda software. For instance, for OUTBOUND Mailers, Hyla FAX or Hyla PAGER software might be used.

3.1 Server Side - Software for Service Providers

Figure 4: FollowMeEmail - Server Side Software
FollowMeEmail - Server Side Software

Figure 2 shows the FollowMeEmail Message Center Model.

3.1.1 Linux

3.1.2 Solaris

3.1.3 Windows NT

3.2 Client Side - Software for Users & Subscribers

Figure 5 shows FollowMeEmail Client Side Software

Figure 5: FollowMeEmail - Client Side Software
FollowMeEmail - Client Side Software

3.2.1 Linux

3.2.2 Solaris

3.2.3 Windows 95/98/NT

3.2.4 Palm Pilot

3.2.5 Windows CE

3.3 Services

Figure 1 show the FollowMeEmail Service Model.

3.4 General Policies & Procedures

3.5 Site Deployment Policies & Procedures

The abbreviations that are used in Figure 6

Figure 6: FollowMeEmail Site Deployment
FollowMeEmail Site Deployment

EMR-IN:
Edge Mail Router - Inbound
MB provide the description.
EMR-OUT:
Edge Mail Router - Outbound
MB provide the description.
SMR-DS:
Site Mail Router - Delivery Server
MB provide the description.
SMR-DS-LIST:
Site Mail Router - Delivery Server - List
MB provide the description.
SMR-SS:
Site Mail Router - Submit Server
MB provide the description.
SMR-SA:
Site Mail Router - Submission Agent
MB provide the description.
MBAS:
Mail Box Access Server
MB provide the description.
FDS:
Final Delivery Server
MB provide the description.
MUA:
Mail User Agent
MB provide the description.
MRUA:
Mail Retrieval User Agent
MB provide the description.
MSUA:
Mail Submission User Agent
MB provide the description.

3.6 MMA Assigned Names & Numbers

3.6.1 Password File Accounts

Category UID Range GID Range Naming Convention Home Directory Shell
System Acct 0 - 99   see Section... /acct/sys ksh
Employee 100 - 4999   see Section... /acct/employee ksh
Contractor 5000 - 9999   see Section... /acct/contractor ksh
Alumni 10000 - 14999   see Section... /acct/alumni ksh
Associate 15000 - 15999   see Section... /acct/associate ksh
Reserved 16000 - 19999        
Subscriber 20000 - 34999   see Section... /acct/subs ksh
User 35000 - 49999   see Section... /acct/user ksh
Program Acct 50000 - 54999   see Section...   ksh

Employee Account

Contractor Account

Alumni Account

Associate Account

System Program Accounts

User Name (Alias) User ID Group Name Group ID
alias 50001 nofiles 50001
qmaild 50002 nofiles 50001
qmaill 50003 nofiles 50001
qmailp 50004 nofiles 50001

System Program Groups

User Name (Alias) User ID Group Name Group ID
qmailq 50005 qmail 50002
qmailr 50006 qmail 50002
qmails 50007 qmail 50002

Subscribers (Authenticated)

Subscriber Group ID is 50004

  User Name (Alias) User ID Group Name Description
Qmail sa-00001 - sa-00003 15001 - 15003 subscrbr Reserved
  sa-00004 15004 subscrbr Subscriber 1.lastName.firstName
  .......      
         
EZMLM        
EMSD        

QMail Virtual Domain

  User Name (Alias) User ID Group Name Group ID Description
Qmail qvd-0001 11001 virqmdom 50003 QmailVirDom freeprotocols.org
  qvd-0002 11002 virqmdom 50003 QmailVirDom byname.net
  qvd-0003 11003 virqmdom 50003 QmailVirDom byname.com
  qvd-0004 11004 virqmdom 50003 QmailVirDom bynumber.net
  qvd-0005 11005 virqmdom 50003 QmailVirDom bynumber.com
  qvd-0006 11006 virqmdom 50003 QmailVirDom emsd.org
  qvd-0007 11007 virqmdom 50003 QmailVirDom esro.org
  qvd-0008 11008 virqmdom 50003 QmailVirDom leapforum.org

4 Related Documents

Other related documents:

5 Service Provider Software

5.1 Adopted Software

A variety of software can be easily integrated with Neda's Open Source Message Center. Figure 4 shows some of the available software that can be used with a specific component. For complete detail on any of these adopted software, please refer to ``Solaris Public Software at Neda'' document.

5.1.1 SendMail 8.7.3

See ``Solaris Public Software at Neda''[2] document for more detail.

5.1.2 qmail 1.03

Getting The Sources

Qmail: Building From Sources on Solaris / Linux

This note describes the necessary steps for installation and configuration of MMA on

- Solaris - Linux

The distribution is self reliant and relocatable. It requires the setting of its base directory.

Before anything else in this directory:

   source mmaEnvSet.csh

Common facilities used by this distribution are included in mma-lib directory.

Installation and configuration of each of The MMA Parts is described in the sections below:

Qmail: Binary Package & Installation

Starting With qmail-1.03

The Following assumes that:

  A-  Pre-made binaries for qmail-1.03 exist.
      See ./MMA-qmail-prepBins.sh to see how 
      those binaries are made.

  B-  The target machine is not running an active sendmail.
      Its sendmail system will be removed.

  C-  The target machine is willing to abide by the 
      conventions and policies of MMA

1) Remove Sendmail from target system.

   ./sendmailDefunct.sh 

2) Create qmail users and install binaries.

   ./MMA-qmail-installBins.sh

3) Configure qmail

4) Setup Init Scripts and inetd 

5) Restart or Reboot the system

6) Test The Mail System

Qmail: Configuration

1) Make sure that you have properly set 
   the configuration parameters for:

     mtaSite
     mtaHost
     hostFQDN

   then,

   Run: ./mmaQmailConfigFilesGen.sh 

   In directory ./mtaSites necessary files will be generated.


2) Make sure that you have properly set 
   the configuration parameters for:

     mtaSite
     mtaHost

   then,

   Run: ./mmaQmailPutInVarQmail.sh 


3) The rest of the configuration is mta type specific

   
   3.1) For TLD cluster Edge Deliverers

        ./mmaQmailVirDomNedaSetup.sh 

   3.2) For Subscriber Delivery

        ./mmaQmailBynameSubsAdd.sh 

   3.3) For submission Clients

   3.4) For submission Servers


4) Restart or Reboot the system


5) Test The Mail System

Qmail: Verification

Qmail: User Support

Documentation

5.1.3 EZMLM 0.53

See ``Solaris Public Software at Neda''[2] document for more detail.

5.1.4 Apache 1.3.6 Web Server

See ``Solaris Public Software at Neda''[2] document for more detail.

5.1.5 MHOnArc 2.3.3

See ``Solaris Public Software at Neda''[2] document for more detail.

5.2 LEAP Software

5.2.1 EMSD Server

Efficient Mail Submission & Delivery (EMSD) is an Internet messaging protocol that is highly optimized for short messages. EMSD is an extension of the existing Internet email environment which accommodates two-way paging model of usage. Using EMSD, urgent messages are promptly "pushed" to the recipient in a highly efficient manner.

The EMSD specifications are totally open and have been published as the Internet RFC-2188 [4] and RFC-2524 [1].

EMSD is designed with the wireless network specifically in mind. It minimizes the network traffic required to send and receive messages, and this produces a messaging protocol that meets the needs of the mobile communicator. Fewer packets means extended battery life, efficient use of carrier bandwidth, and support for marginal coverage areas. EMSD is the only OPEN messaging protocol that exists today as a viable option for the wireless future.

5.2.2 Subscriber Profile

Neda's Subscriber Profile provides a subscriber services....

5.3 Voice Processing Software

5.3.1 VoRDE

VoRDE is Neda's Voice Response Development Environment. It provides a convenient environment for developing and managing voice response applications.

6 Client Tools & Software

Figure 5 shows FollowMeEmail Client Side Software.

6.1 LEAP Software

6.1.1 EMSD-UA - PINE

6.2 Adopted Software

6.2.1 Fetchmail

Getting The Sources

Fetchmail: Building From Sources on Solaris

Just use the standard GNU technique:

        ./configure
        make
        make install

You can provide options to 'configure' to keep it from putting everything in /usr/local if you use another scheme for locally-installed software:

        ./configure --prefix=/opt/public
        make
        make install

For a complete list of options to the configure utility, use

        ./configure --help

Fetchmail: Building From Sources on NT 4.0

Cygwin isn't officially recognized by the version of the GNU Autoconf tool used with the version of Fetchmail we're working with. But with a couple of tweaks, it still works fine:

(1) Copy 'rm.exe' and 'sh.exe' from the Cygnus distribution to the directory '/bin'. You can also tweak the script that are looking for /bin/sh and /bin/rm to use whatever the nasty Cygwin directory is on your system, but we like a tiny little fake /bin better.

(2) Run

   ./configure --host=Cygwin

Cygwin won't be recognized, but Autoconf still does its job and produces a usable Makefile and config.h file.

(3) Edit the Makefile and add '-DCYGWIN' to the CFLAGS variable.

After you're done it should look like

        CFLAGS = -O -DCYGWIN

(4) Just run

        make

If you get errors complaining about 'bison.simple', edit the Makefile again and give Bison the '-S' flag with the full pathname where bison.simple is found (i.e. /share beneath the Cygwin hierarchy).

(5) Copy fetchmail to wherever you'd like to keep it.

'make install' doesn't make much sense on NT, at least not yet.

Fetchmail: Binary Installation

Fetchmail: Configuration

Fetchmail: Verification

Fetchmail: User Support

Documentation

6.2.2 Procmail

Procmail does some funny things with its makefiles and thus wasn't as easy to make into a single source tree, so we provide separate versions for Solaris and NT.

Getting The Sources

Procmail: Building From Sources on Solaris

It's easy:

        make
        make install

and optionally

        su
        make install-suid

Procmail: Building From Sources on NT 4.0

Also easy. The Procmail script does funny things with 'make', so we provide a script on top of it. Just run

        build

and things should turn out right.

We haven't attempted to test all of Procmail's famously robust file-delivery code on NT, since we need only its filtering capabilities. But the filtering properties seem to work just fine, so we'd encourage anyone interested in a full NT Procmail port to jump right on it!

Procmail: Binary Installation

Procmail: Configuration

Procmail: Verification

Procmail: User Support

*

Documentation

7 Tools & Libraries

7.1 LEAP Software

7.1.1 OCP

7.1.2 ESRO

7.2 Adopted Software

8 Subscriber Services

For more detail on FollowMeEmail subscriber services, refer to Neda Subscriber Services
(http://www.byname.net).

9 Adopted Software Components

9.1 INBOUND Mailers (Submission Services)

9.1.1 EMSD-SA

TBD

9.1.2 FAX

TBD

9.2 OUTBOUND Mailers (Delivery Services)

9.2.1 EMSD-SA

TBD

9.2.2 Hyla Pager

TBD

9.2.3 Hyla Fax

TBD

9.2.4 Voice Call Out

TBD

9.3 OUTBOUND Spooler

9.3.1 Hyla Fax

TBD

9.4 Mail Routing

TBD

9.4.1 SendMail

TBD

9.4.2 QMAIL

qmail is a modern replacement for sendmail, written by Dan Bernstein.

9.4.3 BIND

TBD

9.5 Web Server and Tools

9.5.1 Apache

TBD

9.5.2 My Home Setup

TBD

9.6 MailBox Access Servers

9.6.1 IMAP

TBD

9.6.2 Web Mail

TBD

9.6.3 POP

TBD

9.6.4 Voice Access

TBD

9.7 MailBox Filters

9.7.1 PROC MAIL

TBD

9.8 Mailing List

9.8.1 SmartList

TBD

9.8.2 MHOnArc

TBD

9.8.3 EZMLM

EZMLM is a modern mailing list manager. Its purpose is to efficiently send a message to a large number of recipients with minimal delay. It allows automayed additions and subtractions from the subscribers database.

9.9 Group Messaging

9.9.1 Usenet

TBD

9.9.2 Mail2News

TBD

9.10 Directory and White Pages

9.10.1 LDAP

TBD

9.11 Mail User Agents

10 LEAP Software Components

11 Adopted Software Template

Mention current version's characteristics. Date it was released. Next expected release.

Maintainer

Who

Local Support mailing list ...

Getting the Sources

The sources came from: ftp://ftp.xxx.

They were installed in: /opt/public/src/Sol-2/xxx

Neda Configuration

The build script is in: /opt/public/src/Sol-2/xxx

Run Time Environment

The base for the run time environment is: /opt/public/xxx

Init Entries

None.

Cron Entries

None.

Services Entries

None.

Specialized Users

None.

Mailing Lists

None.

Misc

Known Problems

12 Neda Software Template

Bibliography

1
M. Banan.
Neda's Efficient Mail Submission and Delivery (EMSD) Protocol Specification Version 1.3.
Request for Comments (Informational) 2524, Neda Communications, Inc., February 1999.
Online document is available at ftp://ftp.isi.edu/in-notes/rfc2524.txt.

2
Neda Internal Document.
Solaris Public Software at Neda.
Neda Published Document 101-103-02-07, Neda Communications Inc, Bellevue, WA, March 1999.
Online document is available at file:/usr/devenv/webs/nedaInternal/fileAccess/pubs/biblio/101-103-02-07/index.html.

3
Neda Subscriber Manual.
Neda Personal Computing & Communication Services.
Neda Published Document 104-101-04, Neda Communications Inc, Bellevue, WA, May 1998.
Online document is available at http://www.subscribers.neda.com/pubs/biblio/104-101-04/index.html.

4
M. Taylor, J. Cheng, and M. Banan.
AT&T/Neda's Efficient Short Remote Operations (ESRO) Protocol Specification Version 1.2.
Request for Comments (Informational) 2188, Neda Communications, Inc., September 1997.
Online document is available at ftp://ftp.isi.edu/in-notes/rfc2188.txt.