Skip to content. | Skip to navigation

Sections
You are here: Home content generated doc.free neda PLPC 110504 current lsipEmailAppliance

Neda Libre Email Appliance

Neda Libre Email Appliance

Neda Libre Email Appliance
Design and Implementation Notes
Debian Qmail++ – A Family of Adopted LSIP Components
Draft Document – Reflects Work in Progress
Document Nu: PLPC-110504
Mohsen Banan
http://mohsen.banan.1.byname.net/ContactMe


Version 0.2
January 15, 2008

Contents

1 Overview
 1.1 This is a Draft Document
 1.2 Part of LSIP
  1.2.1 Realizations and Uses of Neda-LSIP
  1.2.2 About Neda Libre Appliances
 1.3 Neda-LSIP Approach and Policy
 1.4 About This Document
2 Email Facilities
 2.1 Big Picture Perspective
 2.2 Summary of Lower Layer LSIP Facilities
 2.3 Summary of Mail Layer LSIP Facilities
 2.4 Summary of Peer Layer LSIP Facilities
 2.5 MTA Facilities
  2.5.1 Incoming Mail Processing
   2.5.1.1 RBL
  2.5.2 Mail Queue Processing
  2.5.3 Outgoing Mail Processing
  2.5.4 MMA Qmail
   2.5.4.1 Model and Terminology – MMA Qmail
   2.5.4.2 Files Overview – MMA Qmail
   2.5.4.3 Hints – MMA Qmail
   2.5.4.4 Pointer and References – MMA Qmail
  2.5.5 MTA Anti-Spam Facilities
 2.6 Mail Submission and Injection
  2.6.1 Mail Submission Anti-Spam
 2.7 Mail Delivery
  2.7.1 Mail Delivery Anti-Spam: SpamAssassin
  2.7.2 Mail Delivery Anti-Virus: ClamAV
 2.8 MailBox Management Facilities
 2.9 MailBox Access Facilities
  2.9.1 POP
  2.9.2 IMAP
   2.9.2.1 Model and Terminology – MMA IMAP
   2.9.2.2 Files Overview – MMA IMAP
   2.9.2.3 Hints – MMA IMAP
   2.9.2.4 Pointer and References – MMA IMAP
  2.9.3 WebMail
   2.9.3.1 Squirelmail
 2.10 User Agent Facilities
  2.10.1 Gnus
  2.10.2 Mozilla
 2.11 Mailing List Facilities
  2.11.1 ezmlm
  2.11.2 mhonarc
 2.12 In Access Units
  2.12.1 In Fax Access Unit - Mail
  2.12.2 WhiteBerry: In EMSD Access Unit - Mail
 2.13 Out Access Units
  2.13.1 Mail - Out Access Unit
  2.13.2 WhiteBerry: Mail - Out Access Unit
 2.14 Mail Processing Tools
  2.14.1 mess822
 2.15 Mail Monitoring and Analysis
  2.15.1 qmailanalog
3 Peer and Lower Layer Facilities
 3.1 Related Peer Facilities
  3.1.1 web
 3.2 Lower Layer Facilities
4 Large Site Deployment
 4.1 Introduction
  4.1.1 General Policies & Procedures
  4.1.2 Site Deployment Policies & Procedures

List of Figures

List of Tables

Chapter 1
Overview

1.1 This is a Draft Document

It reflects work in progress. It is subject to frequent changes. Use at your own risk.

1.2 Part of LSIP

This document is part of Libre Sercices Integration Platform Neda-LSIP.

Neda-LSIP is a comprehensive set of tools and conventions for the transformation of software into services. Neda-LSIP is the key technological component of our realization of the concept of Libre Services, allowing practical and cost-effective aggregation of free software components into coherent services. Neda-LSIP is free software itself, available under the Affero GPL version 3 license. For complete details see the document titled, Neda-LSIP Design and Implementation Notes [?].

You can obtain Neda-LSIP by following the instructions below:

  cvs -d ":pserver:anoncvs@cvs.bysource.org:/rep1" checkout -d osmt public/osmt

Neda-LSIP is a series of self documenting scripts. The most current and complete documentation is embedded in the scripts.

This document is for the most part auto generated and includes much information that is extracted from the LSIP scripts directly.

This document provides structure and organization to the individual script information.

1.2.1 Realizations and Uses of Neda-LSIP

Neda-LSIP is a platform it allows for good things to be built on top of it.

The 3 categories of things that use Neda-LSIP are:

  • - Ready to run Software. To be installed by the user.
  • - Pre-Configured Servers. Ready to be plugged in. See http://store.neda.com
  • - Ready to use ByStar Internet Application Services.
  • - As part of a Libre Service Engine.

1.2.2 About Neda Libre Appliances

Certain functional profiles (sub-sets of Neda-LSIP) are often desired as dedicated ready to run servers.

In that spirit, we have created the following Neda Libre Appliances.

  • Neda Libre Email Appliance. See [?]
  • Neda Libre Web Appliance.
  • Neda Libre Intranet Office Appliance.
  • Neda Libre Fax Appliance. See [?]

1.3 Neda-LSIP Approach and Policy

General Preference for std debian distribution packages. Bystar is layered on top of Debian/Ubuntu. qmail and all else is part of Debian/Ubuntu.

Versions – Stable and testing.

Goals  
     -----  
 
        Highly Scalable  
        ---------------  
 
        Plug and Play  
        -------------  
 
        Robust and Secure  
        -----------------  
 
Expandable  
        ----------  
  Best of Breed incorporation

1.4 About This Document

¡!DOCTYPE HTML PUBLIC ”-//W3C//DTD HTML 3.2 Final//EN”¿ ¡HTML¿ ¡HEAD¿ ¡TITLE¿¡/TITLE¿ ¡META NAME=”generator” CONTENT=”HTML::TextToHTML v2.23”¿ ¡/HEAD¿ ¡BODY¿ ¡P¿Neda Libre Email Appliance is based on Debian and qmail++ as a coherent family of adopted LSIP components.

¡P¿Neda Libre Appliances can be used as:

¡UL¿ ¡LI¿Ready to run Software. To be installed by the user.

¡LI¿Pre-Configured Servers. Ready to be plugged in. See ¡A HREF=”http://store.neda.com”¿http://store.neda.com¡/A¿

¡LI¿Ready to use ByStar Internet Application Services.

¡LI¿As part of a Libre Service Engine.

¡/UL¿ ¡/BODY¿ ¡/HTML¿

Chapter 2
Email Facilities

2.1 Big Picture Perspective

lpEmailHosts.sh

lcaQmailHosts.sh

OBSOLETED BY: /libre/ByStar/InitialTemplates/activeDocs/bxServices/mailManage/roadmap/fullUsagePanel-en.org

2.2 Summary of Lower Layer LSIP Facilities

2.3 Summary of Mail Layer LSIP Facilities

2.4 Summary of Peer Layer LSIP Facilities

2.5 MTA Facilities

qmail 1.03 ++

2.5.1 Incoming Mail Processing

2.5.1.1 RBL

2.5.2 Mail Queue Processing

2.5.3 Outgoing Mail Processing

2.5.4 MMA Qmail

2.5.4.1 Model and Terminology – MMA Qmail

Extracted by mmaQmailRoadmap.sh -i modelAndTerminology
Description of modelAndTerminology -- modelAndTerminology  
OBSOLETED BY: /libre/ByStar/InitialTemplates/activeDocs/bxServices/mailManage/roadmap/fullUsagePanel-en.org

2.5.4.2 Files Overview – MMA Qmail

Extracted by mmaQmailRoadmap.sh -i help
Description of help -- help  
OBSOLETED BY: /libre/ByStar/InitialTemplates/activeDocs/bxServices/mailManage/roadmap/fullUsagePanel-en.org

2.5.4.3 Hints – MMA Qmail

Extracted by mmaQmailRoadmap.sh -i howTos
Description of howTos -- howTos  
OBSOLETED BY: /libre/ByStar/InitialTemplates/activeDocs/bxServices/mailManage/roadmap/fullUsagePanel-en.org

2.5.4.4 Pointer and References – MMA Qmail

Extracted by mmaQmailRoadmap.sh -i pointersAndReferences
Description of pointersAndReferences -- pointersAndReferences  
OBSOLETED BY: /libre/ByStar/InitialTemplates/activeDocs/bxServices/mailManage/roadmap/fullUsagePanel-en.org

2.5.5 MTA Anti-Spam Facilities

- RLB - qrlbcheck - Reject at SMTP (Priority 2) - spamGuard

- qconfirm

2.6 Mail Submission and Injection

SMTP Auth

2.6.1 Mail Submission Anti-Spam

2.7 Mail Delivery

Extracted by mmaQmailAddrs.sh -i help
Description of help -- help  
 
Account Processing:  
===================  
   vis_acct{Manipulate}:        -p acctName  
   do_acct{Manipulate}:         -s qmailAcctsList_  
                                -s qmailAcct_  
 
   ⋆⋆ Manipulate an account entry as locDeliveryAcct  
      in /var/qmail/users/  
 
Address Processing:  
===================  
   vis_addr{Manipulate}:        -p acctName -p localPart -p mbox,forward,progs  
                                -p FQMA -p mbox,forward,progs  
   do_addr{Manipulate}:         -s qmailAddrsList_  
                                -s qmailAddr_  
 
   ⋆⋆ Manipulate an addr by editing the dotQmailFile  
 
 
Account/Address Processing:  
===========================  
   do_acctAddrs{Manipulate}:    -s qmailAcctsList_  
                                -s qmailAcct_  
 
   ⋆⋆ Manipulate an account entry as locDeliveryAcct  
      in /var/qmail/users/  
      and manipulate addresses asscoiated with the account.  
 
 
Account VirDom Manipulate:  
==========================  
   vis_virDom{Manipulate}:     -p acctName -p domainPart  
 
   do_acctAddrsVirDom{Manipulate}:  
                             -s qmailAcctsList_  
                             -s qmailAcct_  
 
   ⋆⋆ Manipulate a virtual domain  
 
 
Address ControlFile Show:  
==========================  
   vis_addrCtlFileShow :        -p acctName -p localPart  
                                -p FQMA  
 
   do_addrCtlFileShow :        -p acctName -s qmailAddr_  
 
   ⋆⋆ Show the dotQmailFile for an address  
 
 
Account Addresses FQMA Show:  
============================  
   vis_addrsFqmaShow:        -p acctName  
 
   do_acctAddrsFqmaShow:     -s qmailAcctsList_  
                             -s qmailAcct_  
                             -s qmailAddrList_  
 
   ⋆⋆ Show all addresses corresponding to  
      an account in FQMA format.  

2.7.1 Mail Delivery Anti-Spam: SpamAssassin

2.7.2 Mail Delivery Anti-Virus: ClamAV

2.8 MailBox Management Facilities

MaildirToMbox

Vacation

Autoresponder

qsecretary

2.9 MailBox Access Facilities

2.9.1 POP

2.9.2 IMAP

Our Choice of IMAP server is courier.

We Considered the below mentioned alternatives:

    cyrus      = Cyrus IMAP server  
    uw         = University of Washington's IMAP server  
    courier    = Courier IMAP server  
    dovcod

2.9.2.1 Model and Terminology – MMA IMAP

Extracted by mmaImapRoadmap.sh -i modelAndTerminology
Description of modelAndTerminology -- modelAndTerminology  
 
   Terminology and Model:  
   ======================  
 
 
 
Objects Overview:  
-----------------  
 
 
 
mmaGnats Object Processors and Containers:  
------------------------------------------  
 
mmaGnatsServerHosts.sh

2.9.2.2 Files Overview – MMA IMAP

Extracted by mmaImapRoadmap.sh -i help
Description of help -- help  
 
DESCRIPTION  
     mmaGnats (MailMeAnywhere QMAIL) is a set of consistent  
     policies built on the QMAIL as a CAPABILITY and on  
     (OSMT) Open Services Management Tools.  
 
     mmaGnats Commands, each contain a set of related functions  
     which allow you to accomplish specific tasks. Specifically:  
 
     COMMAND                   TYPE             USED BY  
 
     mmaGnats.sh               action.sh         any  
 
     mmaGnatsLib.sh            library.sh        root/any  
 
     mmaGnatsBinsPrep.sh       action.sh         root  
 
     mmaGnatsServerHosts.sh         subjectAction.sh  root/any  
 
     mmaGnatsAdmin.sh          action.sh         root/any  
 
 
At A Glance  
-----------  
 
Basic qmail  
-----------  
 
  mmaGnats.sh              -- This File. General Orientation and Information  
 
  mmaGnatsLib.sh           -- To be included in all mmaGnats scripts.  
                              General configuration parameters and  
                              general useful functions go here  
 
  mmaGnatsBinsPrep.sh      -- Prepare binary files for qmail/ezmlm  
                           -- for relevant pltforms and versions  
 
  mmaGnatsBinsInstall.sh   -- Install mmaGnats binaries on opRunHostName  
 
  mmaGnatsServerHosts.sh         -- For subject host, configure qmail  
 
  mmaGnatsAdmin.sh         -- Start, stop and addNewAccounts  
 
  mmaGnatsUserConfig.sh    -- Setup Per user environment parameters.  

2.9.2.3 Hints – MMA IMAP

Extracted by mmaImapRoadmap.sh -i howTos
Description of howTos -- howTos  
 
 
    A) How Do I setup a null client from scratch?  
       Follow (A-1), and then:  
 
 
       3) Specify basic null client paramters (smarthost, domain, ...)  
 In ../siteControl/nedaPlus/mmaGnatsListItems.main  
 add an entry for your host. Then:  
 
         mmaGnatsHosts.sh -s bacs0017 -a configure  
 
       4) Verify and Monitor installation  
 
         mmaGnatsAdmin.sh -i fullReport  
 
       5) Sendout a test message.  
 
 mmaGnatsUserConfig.sh -i mailTest  
 
       6) Allow users to customize their desired parameters.  
 
         mmaGnatsUserConfig.sh  

2.9.2.4 Pointer and References – MMA IMAP

Extracted by mmaImapRoadmap.sh -i pointersAndReferences
Description of pointersAndReferences -- pointersAndReferences  
 
cgi-bin is: /usr/lib/cgi-bin/gnatsweb.pl  
 
Gnats web conf params are in: /etc/gnatsweb/  
 
Web config is in: + /usr/doc/gnatsweb/CUSTOMIZE.vars.gz  

2.9.3 WebMail

2.9.3.1 Squirelmail

sqwebmail

2.10 User Agent Facilities

2.10.1 Gnus

2.10.2 Mozilla

2.11 Mailing List Facilities

2.11.1 ezmlm

2.11.2 mhonarc

2.12 In Access Units

2.12.1 In Fax Access Unit - Mail

See [?] for details.

2.12.2 WhiteBerry: In EMSD Access Unit - Mail

See [?], [?], [?], [?] for details.

2.13 Out Access Units

2.13.1 Mail - Out Access Unit

See [?] for details.

2.13.2 WhiteBerry: Mail - Out Access Unit

See [?], [?], [?], [?] for details.

2.14 Mail Processing Tools

2.14.1 mess822

2.15 Mail Monitoring and Analysis

2.15.1 qmailanalog

Chapter 3
Peer and Lower Layer Facilities

3.1 Related Peer Facilities

3.1.1 web

3.2 Lower Layer Facilities

daemontools ucspi tcpserver djbdns splogger

Chapter 4
Large Site Deployment

4.1 Introduction

4.1.1 General Policies & Procedures

4.1.2 Site Deployment Policies & Procedures

The abbreviations that are used in Figure 4.1


PIC

Figure 4.1: MailMeAnywhere 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.
Document Actions
Libre/Halaal Internet Services Provided At LibreCenter By Neda

Member of By* Federation Of Autonomous Libre Services

This web site has been created based exclusively on the use of Halaal Software and Halaal Internet Application Services. It is part of the By* Federation of Autonomous Libre Services which in turn are part of the Halaal/Libre By* Digitial Ecosystem which incorporate the following software components: