EMail Reader Tracking

From Database|Properties|Information (‘I’)|User Detail a user can see who has accessed their email. That is great, but is there a way to similar was to determine who has read a particular email?

For example, having established that a user has accessed the mail database using the above mentioned GUI, can we then establish exactly what emails were then opened?

I appreciate any insight.

Thank you.

Subject: EMail Reader Tracking…

You have two options. One is to build your own audit trail. I do this in some databases by putting code in PostOpen. The other is to turn on the database flag for “Maintain LastAccessed property”. That has a performance impact and I sure wouldn’t turn it on in every mail file.

In either case you won’t be able to do any forensics, you can only monitor from the date the auditing is put in place.

Subject: RE: EMail Reader Tracking…

Charles, Thank you for your quick response. Assuming I enable the “Maintain LastAccessed property”, where would the list be populated. That is to say; now that I am tracking, where is the resulting list of readers stored, and how do I access it?

It is only for one individual’s email, and will only be used for a week or two, so I am not real concerned with any performance issues.

Thanks again!!

Subject: RE: EMail Reader Tracking…

The “Maintain LastAccessed” is actually just something that shows the date and time of last access for the document. (Charles, does it add the user somewhere too? I haven’t had to enable this in my apps…)

It would be pretty simple to add in a PostOpen event to the Memo form that would check to see if the document is being read by someone other than the current user or server. If so, then you could modify a field or even create a log document. I did something similar to track document deletions. You could use it as a springboard for some code that you could use in postopen - specifically look at the section for the “delLog”.

First, I guess you should question why the person is in the ACL of the database if he/she shouldn’t be looking at the documents. By granting people a specific ACL level, you are granting them permission to do whatever that ACL level will allow.

Sub Querydocumentdelete(Source As Notesuidatabase, Continue As Variant)

Dim docsDelete As NotesDocumentCollection
Dim doc As NotesDocument
Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase
Set docsDelete = Source.Documents ’ Docs chosen for deletion

Dim delLog As New NotesLog(db.FilePath)
For x = 1 To docsDelete.Count
Set doc = docsDelete.GetNthDocument( x )
Call delLog.OpenNotesLog(“SERVERNAME”, “pathname\loggingdb.nsf”)
Call delLog.LogAction("The following user was deleted by " + session.CommonUserName + ": " + Cstr(doc.FirstName(0)) + " " + doc.LastName(0))
Call delLog.Close

'The following section emails a notification of the deletion

'Only necessary if you wish to send emails
Dim maildb As NotesDatabase
Dim maildoc As NotesDocument
Dim rtitem As NotesRichTextItem
Set maildb = session.CurrentDatabase
Set maildoc = New NotesDocument( maildb )
Set rtitem = New NotesRichTextItem( maildoc, “Body” )
Call rtitem.AppendText ("The following user was deleted by " + session.CommonUserName + ": " + Cstr(doc.FirstName(0)) + " " + doc.LastName(0))
maildoc.Form = “Memo”
maildoc.SendTo = “Recipient”
maildoc.Subject = “Intranet Directory Document Deleted”
Call maildoc.Send( True )

Next
Continue = True

End Sub

Chris Whisonant

http://cwhisonant.blogspot.com

Subject: RE: EMail Reader Tracking…

Chris,

I really appreciate your post. I wish I had your skill at writing code, but I don’t.

I was hoping there was a “switch” I could flip or an existing log file that I could access.

I took several classes on LotusScript years ago, but never quite had the Programmers mind.

Some folks have it, some don’t.

It’s all pretty trivial anyway. We have a user who’s mail is being accessed by someone with the authority, but no valid reason. Wanted to see what exactly they were looking at.

Thanks for your efforts!