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] /q [/p] [/r] [/d] [/t] [/l] [now|only] {/s}* [/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/