POP3 Collect - Domino Add-In Server Task (Freeware)

The POP3 Collect add-in task for Lotus Domino reads messages from one or more POP3 servers and sends them to the Domino server or any other SMTP Server (Exchange, Postfix, Sendmail, etc). It is written entirely in Java to support all Domino versions (since 7.0) and processor architectures (32-bit, 64-bit and 128-bit) on all platforms.

Download POP3Collect.zip

Video: POP3 Collect Introduction (YouTube)

 

Installation:

  • Download and extract the POP3Collect.zip distribution file.
  • Copy the POP3Collect.ntf file to the Domino data directory.
  • Copy the POP3Collect.class and POP3CollectThread.class files to the Domino program directory (Windows) or to the Domino data directory (Linux).
  • Create a new database (e.g. POP3Collect.nsf) on the target server using the template POP3Collect.ntf. The new database can have any name and can be placed on any data directory on the server.
  • Open the newly created database and create the Connections and Accounts documents.
  • Start the POP3 Collect add-in task with the Domino console command
    Load RunJava POP3Collect [DatabaseName]
    where [DatabaseName] is the POP3Collect configuration database (default is POP3Collect.nsf). Please note that the Java class name "POP3Collect" in the RunJava command is case sensitive.

 

Update:

  • Stop all Domino Java add-in server tasks. At the end, you will notice that the RunJava task has also terminated. This step is necessary to clear the Java class cache in Domino.
  • Download and extract the POP3Collect.zip distribution file.
  • Replace the POP3Collect.ntf file in the Domino data directory and perform a database design refresh of your POP3 collect configuration database (default POP3Collect.nsf).
  • Replace the POP3Collect.class and POP3CollectThread.class files in the Domino program directory (Windows) or in the Domino data directory (Linux).
  • Verify the Connections and Accounts documents in the POP3 Collect configuration database.
  • Restart the POP3 Collect add-in task.

 

Hints and Tips:

  • The current version of this program is always available from this page. If your Domino server allows outgoing HTTP requests (port 80), then the Domino administrator will be notified thru an email whenever a new version is available (Domino Directory -> Server Document -> Security -> First name in Administrators field).
  • This program checks for updates in the configuration database and will reload the configuration automatically. Therefore you do not need to restart the POP3 Collect after configuration changes.
  • To avoid out-of-memory errors in the Java JVM while processing large messages, you should increase the Java heap memory buffer by adding the following Notes.Ini variable on the Domino Server:
    JavaMaxHeapSize=xxxMB (Default is 64MB, recommended value is 256MB or 512MB).
  • The POP3 Collect task can either be started manually from the Domino console or by modifying the Domino Notes.Ini, e.g.
    ServerTasks=Replica,Router,Update,AMgr,AdminP,HTTP,RunJava POP3Collect,LDAP,...
    But the recommended way to start POP3 Collect is to create a program document in the Domino directory, e.g.



  • Since there is no support in the POP3 protocol of marking messages as read, this program implements the option of leaving messages on the POP3 server thru the use of POP3 Checkpoint documents. They are created and updated automatically but you may update these documents if needed.
  • The sending part of the messages is implemented as an SMTP connection (as opposed to a Notes/Domino NRPC connection) to avoid any message content conversion. This also allows you to use this Domino add-in in gateway scenarios, where the SMTP server is on a remote machine (Domino or non-Domino).
  • The command Tell POP3Collect -? will display all available commands.
  • To help debug communication problem, you may set the logging level to "Debug" in the Connection documents. This will set the logging level of the underlying Java mail APIs. Please be aware that a lot of data is written to the Domino console.
  • Please send an email to Administrator@ABData.CH if you have any question, suggestion or if you have found a problem using this software.

 

Release History:

* Planned *
  • New: Write a message to the log during initialization if the Domino notes.ini parameter JavaMaxHeapSize is not specified.
  • New: Call the Java garbage collector before message retrieval cycle to avoid OutOfMemory errors in JVM.
  • Update: Removed the Quickstart page in POP3Collect.ntf. The information has been moved to this page.
   

Version 0.9.0
06/Jul/2010

  • Update: Set current date/time for POP3 messages without a valid date time. Thanks to Pumynt Chooboonraj for his help to debug this problem.
  • Update: Process remaining account documents for the same connection after POP3 errors (TCP/IP connect or POP3 login error).
  • Update: Quickstart help screen for POP3Collect startup options.
  • Update: The code should now be more resistent in special cases, such as invalid formatted MIME messages.
  • New: Send Non-Delivery-Notification to recipient if POP3 message delivery has failed.
   
Version 0.8.5
13/Jun/2009
  • New: Add check for correct template version of the configuration database.
  • Update: Correct error message "Unexpected error occured: null" in rare cases during message transmission cleanup.
   
Version 0.8.0
07/Nov/2008
  • New: Scheduling periods may be specified in the Connection documents to allow specific message scheduling times.
  • New: Send an email to the administrator if a new POP3 Collect version is available. The recipient will be the first entry found in the Administators field of the server document (Security tab).
   
Version 0.7.5
09/Apr/2008
  • Update: Replace any invalid (non-RFC822) <from> Internet address with "Invalid-From-Address@Unknown.Domain" to avoid SMTP delivery failures.
  • New: Add RFC-822 header "X-POP3-Collect-Version" (POP3 Collect version number).
  • New: Add RFC-822 header "X-POP3-Collect-Date" (Processing date and time).
   
Version 0.7.0
26/Mar/2008
  • Update: Create formal release and remove test time limit.
  • Update: Fix Java noSuchMethod Error under Domino 7.0.
  • Update: Remove support for Domino 6.0/6.5.
  • Update: New Notes 8 style program icon. Many thanks to Giorgio Toni for his work.
   
Version 0.6.0
16/Mar/2008
  • New: Beta 5 version (limited availability) - Expires 30/Apr/2008.
  • New: Implement version update checking.
  • Update: Minor Notes user interface changes.
   
Version 0.5.0
15/Mar/2008
  • New: Beta 4 version (limited availability) - Expires 30/Apr/2008.
  • New: Added SSL/TLS support for POP3 and SMTP connections.
  • New: Implement POP3 Checkpoints to keep track of the last message read per POP3 account.
  • Update: Notes user interface updated.
   
Version 0.4.0
27/Feb/2008
  • New: Beta 3 version (limited availability) - Expires 31/Mar/2008.
   
Version 0.3.0
25/Feb/2008
  • New: Beta 2 version (limited availability).
   
Version 0.2.0
14/Feb/2008
  • New: Beta 1 version (internal).
   
Version 0.1.0
02/Feb/2008
  • New: Alpha version (proof of concept).
22.08.2010