              JMERCD.NLM   
             ------------

Program JMERCD retrieves mail from POP3 server and inserts it into MERCURY
(NLM version) send queue. It works on NetWare 386 (see Notes section of this 
file for version details).


Syntax:  LOAD JMERCD [/c<ConfigFile>] /q<QueueDirectory> [/p<PortNum>] [/r<min>]
                     [/d] [/t<timeout>] [/l<LogName>] [now|only] {/s<hh:mm>}*
                     [/m] [/b]

where ConfigFile    .. pathname of file with user configuration
                       Default is SYS:SYSTEM\MERCURYD.DAT
                       Format of this file conforms with mercuryd.dat
                       file for module MercuryD in Mercury/32
      QueueDirectory . PathName to Mercury send queue, e.g. SYS:\MERCURY\QUEUE
      PortNum       .. POP3 server port number (default is 110)
      /d            .. Delete retrieved mail from POP3 server
      /m            .. LOG whole messages into JMERCD log file
      /b            .. reduces size of log file, skips <-msg lines
      /r            .. Period of periodical mail download (in minutes)
      now           .. jMercD retrieves mail immediatelly and quits
      only          .. as NOW, but quits without keypress (suitable for CRON)
      hh:mm         .. start time of POP3ing. Default is 00:35.
                       There can be from none to TEN /s parameters.
      LogName       .. Name of Log file. /L only means no log. 
                       Default SYS:SYSTEM\JMERCD.LOG
      timeout       .. POP3 timeout in seconds (default 120s)


Hints:	ConfigFile	This file contains information about POP3 accounts
			from which emails should be retrieved. It uses syntax
			from MercuryD module (Mercury/32) with two additional
			commands (see description in file mercuryd.dat in the
			JMERCD archive).
	PortNum		Without firewall with POP3 proxy, you should use
			standard POP3 port 110.
	/d		Without this parameter will mails remain in POP3 hosts
			mailbox !
	/s		JMERCD scheduling is very simple. Use e.g. Novell's 
			CRON when you need advanced scheduling.
	/s,/r		Only one of this method can be used
	/b		Brief mode overcomes (switches off) /m parameter

	Maximal number of POP3 accounts specified in ConfigFIle is 150.

	Format of mails inserted to Mercury queue conforms to Mercury/NLM.
  This format includes 'SMTP from' address. JMERCD uses 'postmaster' as default.
  It can be changed by @FROM command in mercuryd.dat file.

	JMERCD partialy supports domain mailboxes. The problem with domain
  mailboxes is lost SMTP To: address (It is different from email To: address
  - there can be any text in email To:, but SMTP To: must be your valid 
  address). JMERCD has no access to list of local account or aliases of 
  Mercury/NLM program, so it _NEEDs_ original SMTP To:.
	The only way to receive original SMTP To: address is your ISP (or
  whoever manages that POP3 domain mailbox) saves original SMTP To: into
  additional email header. For instance Mercury/32 3.30 adds 'X-envelope-to'
  header.
	You can specify such header in mercuryd.dat file by @TO command. When
  this header is not specified , JMERCD deliver all emails to default user.
  When @TO is specified and it is found in first 10kB of mail headers
  (yes, stupid technical limitation), JMERCD sends mail to address in this 
  header.
	JMERCD doesn't treat @TO as standard header but as prefix. Eg. when
  '@To:My-own-header: bubu' is command in mercuryd.dat and line
  'My-Own-Header: BubuRoot' is found in the email headers, JMERCD send mail
  to address 'Root'.
	WARNING: this behaviour can be backdoor to email relaying as JMERCD
  doesn't know about which addresses are local. It expects without any test
  that all addresses in @TO header _ARE_ yours.


	  JMercD waits until start time and then tries to retrieve POP3 mail 
  from specified users. It is done for every /s parameter. 
	Program asks every 2 minutes if it is right time, so you may expect
  slightly different download times from configured ones.
	Alternatively, /r may be specified. JMercD then asks every specified 
delay. Parameters /R and /S can NOT be use together

Program termination:	JMercD terminates if you unload JMERCD.NLM . 
			If it was started using "now" or "only" parameters,
			programs quit itself after its job is done.


Example:   LOAD JMERCD /csys:mercury\mercuryd.dat /qsys:system\mercury\queue /d /s8:00 /s16:12 /s0:0

In this example, JMERCD will three times in day (at 0:00, 8:00 and 16:12)
retrieve mail from host (and users) specified in SYS:MERCURY\MERCURYD.DAT and
put it into directory SYS:SYSTEM\MERCURY\QUEUE.

-----------------------------------------------------------------
Notes:

  - JMERCD is cardware. See file LICENSE for conditions.

  - program was made (and tested) only in NW 5. It should work on 
    NW 3.1x or NW 4.1x but ...

History:

990806  0.01: test release
990811	0.10: added user config file (mercuryd.dat)
990825	0.20: max users=150; dynamic mem alloc; Merc/NLM headers
990908	0.21: corrected missing 1st part of message, added DNS resolution
991022  0.22: tried timeout routine, corr. hang on very small msgs
000314  0.23: Added periodical download
010301  0.24: Better work on high speed networks, default timeout is 2 minutes
020217  0.30: Added partial support for domain mailboxes
020219  0.32: Better performance, corrected little bugs
020331  0.33: Corrected 3.1x compatibility
020505  0.34: internal corrections
030323  0.35: /q for log reduction
050130  0.36: @TO header can be multiple-line
050617  0.37: parameter /q was changed to /b (collision with queue parameter)
050720  0.38: correction of log writes


-----------------------------------------------------------------


If you have any problem or any suggestion concerning the further
development of the program, please contact Petr Jaklin:

	email:	jaklin@3net.cz
	fax	+420 417 590100

New versions and other utilities are available at URL:

	http://www.3net.cz/software/



