meillo@1: meillo@1: meillo@1: MasqMail meillo@1: meillo@1: meillo@1: meillo@1: meillo@1:
meillo@1: meillo@1: meillo@1: meillo@1:
meillo@1: meillo@1: meillo@1: meillo@1: meillo@1:
MasqMail
meillo@1: meillo@1:
MasqMail

meillo@1: meillo@1: Introduction
meillo@1: Features
meillo@1: How it works
meillo@1: Platforms
meillo@1: Limitations
meillo@1: Security
meillo@1: Requirements
meillo@1: Download
meillo@1: Documentation
meillo@1: Roadmap
meillo@1: Mailing List
meillo@1: Bugs and Suggestions
meillo@1:
meillo@1: meillo@1: meillo@1:

Introduction

meillo@1: meillo@1:

MasqMail is a mail server designed for hosts that do not have a meillo@1: permanent internet connection eg. a home network or a single host at meillo@1: home. It has special support for connections to different ISPs. It meillo@1: replaces sendmail or other MTAs such as qmail or exim.

meillo@1: meillo@1:

Since version 0.0.10 it supports alias address expansion and can meillo@1: deliver to pipes.

meillo@1: meillo@1:

MasqMail is released under the GPL meillo@1: license.

meillo@1: meillo@1:

Features

meillo@1: meillo@1:
    meillo@1:
  • Delivers only when online to a destination 'outside' your LAN
  • meillo@1:
  • Support for multiple Providers (ie. Mail Servers, or direct delivery)
  • meillo@1:
  • Rewriting of Return addresses (Return-Path:, From:, Reply-To:), meillo@1: configurable for each Provider separately
  • meillo@1:
  • can also be used as a Mail Server on a LAN
  • meillo@1:
  • alias support
  • meillo@1:
  • delivery to pipes
  • meillo@1:
  • delivery to MDAs (eg. procmail)
  • meillo@1:
  • Maildir support (version >= 0.2.5)
  • meillo@1:
  • routing depending on sender
  • meillo@1:
  • AUTH (RFC 2554) support (as client, since version 0.1.0)
  • meillo@1:
  • SMTP-after-POP
  • meillo@1:
  • POP3 client
  • meillo@1:
  • POP3 client daemon (fetch mail in regular intervals if online)
  • meillo@1:
meillo@1: meillo@1:

How it works

meillo@1: meillo@1:

When offline, MasqMail queues all mail with a destination outside meillo@1: of the local network. When you connect to the internet, masqmail will meillo@1: be called with a connection name as an argument. MasqMail then sends meillo@1: the queued mail to the configured mailserver for that ISP. When a meillo@1: message from the local net is received when online, MasqMail delivers meillo@1: it immediately. If there is no mail server for that ISP, MasqMail can meillo@1: also send the mails directly to their destinations.

meillo@1: meillo@1:

For each ISP different return addresses can be configured. This meillo@1: makes it possible to get around spam traps which desire your return meillo@1: address to be from the same domain as the host the mail is coming meillo@1: from. This is not a problem if you always connect to a single ISP, but meillo@1: is one if you use different ones from time to time. It also makes it meillo@1: possible to configure your mailer to a return address on your local meillo@1: network which maybe totally unknown outside. So delivery failure meillo@1: messages originating on your local net can be sent directly to you, meillo@1: while those that occur outside will be sent to the configured meillo@1: address. (Note that the return path is different from the From: meillo@1: address or the Reply-to: address. You can still have a single address meillo@1: where you want replys to be sent to).

meillo@1: meillo@1:

When offline, MasqMail behaves just like any other ordinary mail meillo@1: server (with a few limitations, but these will be fixed in the meillo@1: future).

meillo@1: meillo@1:

To detect its online status, MasqMail can take advantage of the masqdialer system. But it also meillo@1: works well without it.

meillo@1: meillo@1:

See the manual for more information.

meillo@1: meillo@1: meillo@1:

Platforms

meillo@1: meillo@1:

MasqMail is being developed for Linux. It may run on other Un*x like meillo@1: platforms, but it will certainly not run on Windows or a meillo@1: Mac. Currently I see no point in porting it to other platforms.

meillo@1: meillo@1:

But it is possible to use a Windows (or Mac or any system that meillo@1: knows about SMTP) host as a client. Just configure your mailer to use meillo@1: the machine MasqMail is running on as your mail server.

meillo@1: meillo@1: meillo@1:

Limitations

meillo@1: meillo@1:

MasqMail is still in an early stage of development so use it with meillo@1: caution! There may still be serious bugs in it, so mail might meillo@1: get lost. But in the nearly two years of its existence so far there meillo@1: was only one time a bug which caused mail retrieved via pop3 to be meillo@1: lost in rare circumstances.

meillo@1: meillo@1:

There are also some features every MTA should have:

meillo@1: meillo@1:
    meillo@1: meillo@1:
  • it does not use .forward files (but it uses alias files since 0.0.10)
  • meillo@1:
  • it does not support retrieving mail from a multi-drop mailboxes
  • meillo@1: meillo@1:
meillo@1: meillo@1:

But these are worked on.

meillo@1: meillo@1:

MasqMail is not designed to run on a host with a permanent meillo@1: internet connection. It does not have the ability to check for spam meillo@1: mail and it will relay everything from everywhere to everywhere. Use meillo@1: another mail server such as exim meillo@1: for permanent connections.

meillo@1: meillo@1:

BTW: I am already using it...

meillo@1: meillo@1: meillo@1:

Security

meillo@1: meillo@1:

I hope that I have not done anything stupid, but there may be meillo@1: security holes in it. If you find one, please tell me.

meillo@1: meillo@1:

MasqMail does not listen to a port to the internet (unless you meillo@1: manage to configure it to do so... which is pretty senseless anyway), meillo@1: so that door is closed.

meillo@1: meillo@1:

MasqMail is designed to run with an own user and group id. It uses meillo@1: root permission only when necessary, ie. to open a listening port and meillo@1: to change identity to some user when it delivers local mail.

meillo@1: meillo@1: meillo@1:

Requirements

meillo@1: meillo@1:

MasqMail requires glib 1.2 or greater. You may find this strange meillo@1: since glib was originally written for gimp and is used by gtk, but glib does not necessarily have meillo@1: to do with GUIs. It has some useful list and string functions, and I meillo@1: use only these. This may change in the future when I write my own meillo@1: utilities.

meillo@1: meillo@1:

I develop MasqMail with a Debian woody distribution, Kernel 2.4.x and meillo@1: glibc (libc6) with gcc 2.95. There have been reports that it compiles and meillo@1: runs under Redhat, SuSE, slackware, with libc5 (since 0.0.4) and Kernel meillo@1: 2.0.x and 2.2.x, and FreeBSD, OpenBSD and NetBSD.

meillo@1: meillo@1: meillo@1:

Download

meillo@1: meillo@1: masqmail-0.2.20.tar.gz (http) (unstable version, about 242K)
meillo@1: masqmail-0.2.20.tar.gz.asc (http) meillo@1: detached GnuPG signature, signed with meillo@1: 451EAB1B, fingerprint
CDA0 CB53 83C6 84DF 760F  6BFE 5265 5226 451E AB1B
meillo@1: masqmail-0.2.20.tar.gz.md5sum (http) (md5sum)
meillo@1: meillo@1:
meillo@1:
meillo@1: xdelta (binary patches), apply with meillo@1:
meillo@1: xdelta patch file.xdelta old.tar.gz new.tar.gz
meillo@1: 
meillo@1: masqmail-0.2.12-0.2.13.xdelta (5K)
meillo@1: masqmail-0.2.13-0.2.14.xdelta (7K)
meillo@1: masqmail-0.2.14-0.2.15.xdelta (6K)
meillo@1: masqmail-0.2.15-0.2.16.xdelta (5K)
meillo@1: masqmail-0.2.16-0.2.17.xdelta (15K)
meillo@1: masqmail-0.2.17-0.2.18.xdelta (8K)
meillo@1: masqmail-0.2.18-0.2.19.xdelta (6K)
meillo@1: masqmail-0.2.19-0.2.20.xdelta (6K)
meillo@1: meillo@1:

Note: the unstable version is pretty stable already.

meillo@1: meillo@1: MasqMail-0.1.17.tar.gz (http) (stable version, about 174K)
meillo@1: meillo@1:
meillo@1: meillo@1:

Waldemar Brodkorb has made rpms for SuSE 7.0 and 7.1 with ESMTP AUTH, meillo@1: see this page

meillo@1: meillo@1: ChangeLog (unstable)
meillo@1: ChangeLog (stable)
meillo@1:
meillo@1: See download/ if your are curious for older versions. meillo@1: meillo@1:

masqmail is also in Debian. You will find it here.

meillo@1: meillo@1: meillo@1:

Documentation

meillo@1: meillo@1:

masqmail comes with a bunch of man pages, these are also available meillo@1: online. Some people have written introductory pages meillo@1: for the initial installation:

meillo@1: meillo@1:

meillo@1: Christoph Hertel has written a quick help page for masqmail. meillo@1:

meillo@1: meillo@1: meillo@1:

Roadmap

meillo@1: meillo@1:

MasqMail will be optimized for slow connections. It uses ESMTP meillo@1: pipelining both when sending and receiving and sends all messages to a meillo@1: single host in a single connection.

meillo@1: meillo@1:

Apart from the missing things mentioned above, I plan to implement meillo@1: the following features:

meillo@1: meillo@1:
    meillo@1:
  • ODMR support as a client
  • meillo@1:
  • POP3 multidrop support
  • meillo@1:
meillo@1: meillo@1: meillo@1:

Mailing List

meillo@1: meillo@1:

There is now a Mailing meillo@1: List for MasqMail. To subscribe or to view the archive use the meillo@1: link.

meillo@1: meillo@1: meillo@1:

Bugs and Feedback

meillo@1: meillo@1:

Since MasqMail is very young, bugs are quite probable. If you meillo@1: encounter one, send it to me. Please tell me the versions of: meillo@1:

    meillo@1:
  • MasqMail
  • meillo@1:
  • libc
  • meillo@1:
  • OS (Linux) (use uname -a)
  • meillo@1:
  • glib (use glib-config --version)
  • meillo@1:
  • the compiler (use gcc -v)
  • meillo@1:
meillo@1: meillo@1:

If not already so, set the debug level to at least 5 and send the meillo@1: debug.log (only the important part please...).

meillo@1: meillo@1:

To improve MasqMail, bug reports are really needed! The more bug meillo@1: reports I get the more stable it will get.

meillo@1: meillo@1:

Suggestions are always welcome. If there is a feature that you meillo@1: would like to have in MasqMail, contact me, and I will think about meillo@1: it. You are also welcome to send patches, but at this stage of meillo@1: development there will be no CVS access.

meillo@1: meillo@1:

If you are using it and are happy with, you can also write that to meillo@1: me. To make me happy.

meillo@1: meillo@1:

If you are not happy with it, you can keep that for meillo@1: yourself. Before you send some flame, please read these pages very meillo@1: carefully again.

meillo@1: meillo@1: meillo@1:
meillo@1:

meillo@1:


meillo@1:
Oliver Kurth <oku at masqmail dot cx>
meillo@1:

meillo@1: meillo@1:
meillo@1:
meillo@1: meillo@1: meillo@1: