haiku/src/servers/mail
Ingo Weinhold 7e8ac2903b * Prefixed the variables NETWORK_LIBS, NETAPI_LIB, and
SELECT_UNAME_ETC_LIB with TARGET_ and introduced HAIKU_* and HOST_*
  counterparts.
* Use HOST_NETWORK_LIBS for building remote_disk_server.
* Also got rid of {R5,BONE,DANO,HAIKU}_COMPATIBLE.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21912 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 22:15:10 +00:00
..
deskbarview.cpp * The Deskbar tray icon menu "Check Mail" and the status window "Check Now" button 2007-06-22 00:15:17 +00:00
deskbarview.h I was sick of the mail_daemon deskbar replicant always showing the wrong count 2006-12-30 03:24:41 +00:00
ExtraMenuLinksForR5Tracker.zip More Japanese and other small items from SourceForge. To be integrated into 2006-01-15 22:55:07 +00:00
HISTORY Added MIME type application/x-vnd.Be.URL.mailto to BeMail's supported types. 2005-11-06 20:39:13 +00:00
install.japanese.sh More Japanese and other small items from SourceForge. To be integrated into 2006-01-15 22:55:07 +00:00
install.sh mmadia provided an updated install.sh, all options should now work. I've 2005-12-25 03:40:34 +00:00
Jamfile * Prefixed the variables NETWORK_LIBS, NETAPI_LIB, and 2007-08-12 22:15:10 +00:00
LEDAnimation.cpp
LEDAnimation.h
LICENSE Changed credits to Haiku, separated out version history from readme, updated version history, and updated contact information. 2005-01-30 06:01:32 +00:00
mail_daemon.rdef Made all server version and signatures consistent, and thus closing bug #909. 2006-10-22 17:56:02 +00:00
main.cpp Build fixes for gcc 4 by Ilzu Siiteri. Small changes by myself. 2005-11-30 23:41:40 +00:00
NavMenu.h Tried to get MDR to compile under Zeta RC3 but to no avail, with lots of 2006-01-01 23:59:24 +00:00
README Now compiles for both Haiku and R5 targets. Also bumped the version 2005-11-05 22:51:31 +00:00
README.JP Japanese version of the README, slightly out of date, UTF-8 encoding. 2006-01-15 22:52:52 +00:00
SlowMenu.h
UserProvidedScripts.zip More Japanese and other small items from SourceForge. To be integrated into 2006-01-15 22:55:07 +00:00

Haiku Mail Daemon Replacement v3.0.3

ABOUT:

This is a drop-in replacement for the BeOS Mail Daemon that comes with
BeOS. Its purpose is to be 100% compatible with the original mail_daemon
and to improve it by adding features. The package contains the following
files:

  README
   The file you are reading.

  LICENSE
   Conditions for using/distributing this package.

  HISTORY
    Revision history for the Mail Daemon Replacement.

  libmail.so
   This library provides the backend for the new mail_daemon.
   It will be installed in /boot/beos/system/lib

  mail_daemon
   This is the new replacement Mail Daemon. It will be installed in
   /boot/beos/system/servers, overwriting the original mail_daemon file.

  BeMail
   This is a new version of BeMail, based on the original, which Be has,
   in their infinite wisdom, open sourced. This provides full multi-account
   support, among other things. Great stuff. It will be installed in
   /boot/beos/apps/BeMail

  E-mail
   This is the new e-mail preferences panel. It will be installed to
   /boot/beos/preferences, overwriting the original preferences app.

  Addons
   There are a *lot* of addons. These contain much of the functionality
   of the mail daemon, and will be installed in
   /boot/home/config/add-ons/mail_daemon


***********

  Warning:

  Do not keep this and other mail_daemon executables on your HD!
  Because the original Mail Kit uses the mail_daemon's signature
  to find it, having more than one version will cause things to
  randomly fail, when it finds the old version instead of the new.

***********

INSTALLATION:

Installation is through a zip file.  Be sure to download the correct version
for your system (PPC or x86 (Netserver version for standard x86 BeOS or BONE
networking for people who are using a newer, unofficial BeOS)).  Just unzip the
file somewhere and double click the install.sh icon.

To configure the new mail_daemon, open the E-mail preferences app
from your Deskbar menu after installing the package.

USAGE:

Open the E-mail preferences app (BeOS Menu/Preferences/E-mail) and
configure your accounts. To save all the changes, close the window
by clicking "Save".  To delete an account, select it and press the
DEL key or use the Remove button.

Right click the Deskbar mail icon to access a menu with various options.
Single-click the icon to open your mail inbox. The field about new messages
will be available for selection if you have new messages, and will open a
Tracker query displaying those messages. The Quit option quits the
mail_daemon. You don't want to do this. Right-clicking the Deskbar replicant
while pressing the SHIFT key reveals more options for Sending/Receiving
emails.

ADDON INSTALLATION:

Add-ons should be installed in /boot/home/config/add-ons/
mail_daemon/ in the subdirectory specified in the add on documentation.
This directory will be automatically created by the installation process.
The distribution contains POP3 (with APOP support), IMAP and SMTP (including
SMTP-Auth) protocols, as well as Add Fortune, R5 Daemon Filter, and Match
Header filters.

FILTERS:

This release contains four filter addons. To enable them, use E-mail Filters
in preferences, and choose the appropriate direction to apply them in
(specified below), then add that filter. You can add several instances of
the same filter type, although this is only recomended for RuleFilter. Addons
will be executed in the order they appear in the list, and can be reorderd with
a simple drag and drop. To install new filters, follow the directions in
ADDON INSTALLATION.

 Add Fortune
   This filter adds a random fortune to the bottom of all outgoing e-mail. For
   an example, open your Terminal and type fortune. The database can be
   specified in config, although it is highly reccomended that you use the
   default. For more information on Fortune and its database format, go look
   somewhere on the web.

 R5 Daemon Filter
   This filter executes old style mail daemon filters on inbound messages.
   For more information, see http://www.betips.net/chunga.php?ID=511

 Match Header
   Allows you to filter messages based on an arbitrary header, of a value
   you define. The value can be a regex. So to trash messages containing
   "get rich quick" in the subject, do this: If |Subject| is |*get rich quick*|
   Then |Delete Message| The ||, of course, are just the edges of the
   text boxes. Or, to put it messages from BeUserTalk in ~/mail/beusertalk:
   If |Subject| is |*BeUserTalk*| Then |Move To| |/boot/home/mail/beusertalk|
   This works for any header field. Also, THREAD is a special header
   containing (you guessed it!) the message thread. Note that [ and ] are
   special characters. If you wish to include these in your test value, you
   need to put a \ before them, which causes the regex engine to interpret
   them as [ and ] characters instead of marking a set of values. For more
   info on this, read up on regular expressions.

 Spam Filter
   This filters out spam. If you want to know more (and you may) more
   documentation can be found in the directory with no spaces in its
   name: AGMSBayesianSpamDocumentation. It even has, unlike this, lots of
   pretty pictures.  Also see the note about SampleSpamDatabase.

WHAT HAPPENS WHEN YOUR E-MAIL IS FETCHED:

For POP3, this is entirely straightforward. New e-mail is fetched into the directory you've identified in Inbox. If you've enabled partial downloading, they appear as partial e-mails, which have a blue and white striped icon. If you double-click them, they download and then open in BeMail (or your chosen mail reader).

For IMAP, things are slightly more complicated. The IMAP folder structure is duplicated in your inbox. So if you chose /boot/home/mail/in as your inbox, you will end up with IMAP folders like /boot/home/mail/in/INBOX. Further, you should note that what happens in IMAP folders is bidirectional. That is, if you move a file inside the folder hierarchy, it moves on the server. If you duplicate one, it's duplicated on the server. If you move in an e-mail from another account, it's uploaded to the server (this also means that you can have it store sent mail on the server). You can also create and delete mail folders in Tracker. Pretty cool, huh? As a final note on IMAP, because it stays connected to the server, the "fetch mail every x" option is irrelevant, except as a way to start the connection, as it only connects when you first press "Check Mail Now". A final note: moving partial messages from one account to another causes the message (1) not to be transferred and (2) to be deleted. Unpleasant. So download them first.

Note that if you have a large number of archived e-mail messages on your system, it will scan all of them for message ID numbers to keep track of what has been downloaded and what has not.  This will delay the start of the mail check if you have tens of thousands of old messages (and thrash your hard drive).  To work around that, remove the MAIL:chain attribute from your old messages; the Terminal command "rmattr MAIL:chain *" will do that for all files in the current directory.


IMPLEMENTATION:

The latest version has the following (interesting) features:

 - Add-on based architeture.
 - Fully multithreaded.
 - POP3 add-on with APOP support.
 - IMAP add-on
 - SMTP add-on
 - SSL support
 - Leave messages on server option, with optional delete messages from
   server after deleting local message.
 - PPP connection detection.
 - Multiple accounts.
 - Addition of the Account attribute. The install script indexes it.
 - Email Filters
 - Timed email retrieval.
 - Deskbar replicant with NavMenu.
 - The status window can be made persistent.
 - Status window remembers its size and position.
 - BeMail
 - Spam Filter

TODO:

This is a partial list of what we intend to implement. Suggestions are welcome:

 - HotMail support.
 - Filter description field/attribute
 - Read initial account info from old E-mail prefs
 - More...

OTHER STUFF:

This program was created by Haiku, Inc. (http://www.haiku-os.org)
Special thanks goes to Todd Lair, Brad Froehle, David Reid,
Rene Gollent and others for helping us with ideas and code. We also would
like to thank the BeOS community in general for their support.

Japanese translation by: Koki (koki@aequus.net) and Jun Suzki.
Testers/advisers of Japanese builds: SHINTA, Koichi Kimura (KiM), Masatsugu
Karino (karino@drycarbon.com), Rie Hatsu (r21e6d1a9f@m02.kyoto-kcg.ac.jp),
ITO Takayuki (yuki@euc.jp),Tanuki, Ryo Hattori, Ichikawa Hirotaka and many others.

The cool new mail-daemon deskbar icon is a courtesy of Syn.Terra.

Copyright (c)2001-2005, Haiku, Inc.. All rights reserved.

Original software written by Bruno G. Albuquerque (bga@bug-br.org.br), Nathan Whitehorn (nathanw@uchicago.edu), Peter Folk (pfolk@uni.uiuc.edu), Stephan Assmus
(stippi@yellowbites.com), Alan Ellis, David Reid,Axel Dörfler (axeld@pinc-software.de)
and Alexander G. M. Smith (agmsmith@rogers.com).