I am a relatively newbie to Lotus/Domino world and have been tasked with the following Domino task.
Access user's Domino mailbox (from a middleware server) and delete certain malicious emails from the same.
Additional Background: There is a external security tool/process that analyzes all incoming email and can flag the email as malicious. In the event it is flagged as malicious then I want to delete this email from the respective user's inbox.
My solution would be deployed on its own middleware server (Linux based) and will receive incoming notifications as to what emails need to be deleted.
The Domino server deployed in my environment is Lotus/Domino 9.
I want to preferably implement this functionality using Java.
I researched and found the potential options for me for accessing the user's inbox on Domino server.
1) I saw that there is a IBM C/C++ API toolkit for Domino. The C API looks quite complicated to me on first glance. Also I would need to install the Notes client (on my middleware server) so that I could invoke the C API remotely?
2) Is there a Java API that I could use to connect/access Domino? I found:
- IBM Knowledge Center - IBM Domino Designer 9.0.1 - API Documentation and
- IBM Notes and Domino Application Development wiki.
These seem to indicate there is some Java/REST API interface however I am not sure if I can use this to access inbox/mailbox data. It seems to indicate "Calendar" data but nothing about email/mailbox data as such.
3) I came across the OpenNTF Domino API project while researching and that seems to have a Java API. Should I be using this?
What is the best way to access Domino from an external server standpoint? Am I stuck with the C/C++ API or is there a relatively (easier to understand and use) REST/Java API that I could leverage? Also will I have to have the Notes client installed on my middleware server so that I can invoke the API (C/C++ or Java)?
recycle()
calls. But he's posted the chapters here for free download. Now that you know aboutrecycle()
I'm sure you can find information about why and when you need it.recycle()
!) and the limitations usage of the official API runs into.Re: installing the Notes client which I alluded to that when I mentioned the core Lotus Notes/Domino code under point 2. You have two options for the official Java API:
I do have to mention though: this is close to being off topic for this reason:
Whilst the existence of a Java API can be easily confirmed by searching here on StackOverflow, I have to admit that finding basic references for Domino is quite a bit more challenging. There is literally 25 years worth of information about it that's out there, but is often in fragments and is obsolete. It is really difficult to find information about tools, APIs and libraries that are available and current today. The options are really pretty limited.
As such I think this question deserves an answer since it does not really come down to opinion. I'm not going to make a recommendation though, because that really would be opinion.