« Validate a Field Value's Uniqueness Across All Documents | Main| Better Shredder Turns Tide in the Junk Mail Battle »

User-Friendly Agent for Archiving Notes Email Attachments

QuickImage Category

I had planned since last week to do an SNTT post about my email attachment archiving agent, so when Ed Brill raised the issue of email bloat here earlier today, needless to say I found the timing fortuitous.  I've posted the code on OpenNTF and included detailed instructions for implementation, but its basically just copying a couple design elements to your mail file and you're in business.  So, what does it do?  Simply put, this agent allows users to select several email messages with attachments, save copies of all these attachments to a place of their choosing on the file system, and remove the attachments from the messages, all in a clean, user-friendly manner.

I must give credit to two folks whose previous work provided the foundation for this agent.  First, Ulrich Krause, who posted this code on the Notes 4/5 Forum back in 2000 which established the basic logic.  And second, Julian Robichaux (NSF Tools), who provided the cool Java code that made possible the attractive dialog box showing the agent activity and percent completion.  BTW, Julian's code was part of his (and Tom Duff's) Lotusphere 2006 JMP201 "Java Jumpstart" presentation, which can be downloaded here, and includes demo database and everything.

Anyway, here's how the agent works...

Step 1: Select one or more email messages whose attachments you want to archive.
A picture named M2

Step 2: Launch the agent.
A picture named M3

Step 3: Select a destination folder (could be on a local or shared drive) and click OK.
A picture named M2

Step 4: While the agent is running a dialog box displays showing what files are being archived and the overall progress of the options.  You can click a "Cancel" button during this time if you want to terminate the operation early.  When the agent finishes, you'll get something like this:
A picture named M3

Step 5: If you like, you can copy the text output from the dialog box (not sure why you would, but it's possible nonetheless).  Finally, click "Close" to finish.

Step 6: Notice that the folder/path to which the attachments were saved is tagged on the bottom of each message like this:
A picture named M4


As a simple way to allow folks to reduce the size of their own mail file, this agent works pretty well.  One of the reasons often cited for not turning on email quotas is that users complain about how cumbersome it is to do this sort of cleanup one message at a time, and few shops I've been in have trained folks on traditional archiving.  Many users don't even know they can edit mail messages at all.  This agent should help in those cases.  Depending on your needs, it can be easily customized to, for instance, make removing the attachments from the messages optional, or to give users the choice to overwrite files of the same name (instead of the default behavior of preventing duplicates by adding a "_1", "_2", etc. suffix to the filename).

Of course, if you are (un)lucky enough to work in an organization that has strict email retention policies, this agent may be a big NO NO, so be sure to check with your legal department before implementing this.  YOU HAVE BEEN WARNED, so don't come crying to me if you get in trouble.  For you folks, a more robust tool for archiving attachments and/or entire email messages into some sort of a repository is a better option.  One such tool that's worth a look is DocLogic from DLITools.


1 - I'm not sure how I install this in Lotus notes 6.5?

2 - Error "Illegal circular USE: check quotas" I am using client lotus 7 nad design template is inotes6.ntf.

3 - Hi Kevin,
<br>Pardom my ignorance, I like the idea of archiving the email attachements but regert to state that after reading the above article many times I still do not know how to go about doing it.
<br>It may be noted that I am an ordinary user with no rights adminstartion rights for the Lotus notes.
<br>I did not find any code on the OpenNTF ,but after downloading the ArchiveAttachment Agent.zip, i have unzipped the file and find ArchiveAttachement Agent.nsf file which was double clicked and the required database is setup in the Lotus Notes but there is no data(mail) in it. The mail is on my server or in my local HD after I replicate same. Therefore, I am not sure how to use the above functionality of archiving the attachments.
<br>Pls help

4 - Yup... Julian rocks! :)

5 - Hi Kevin,

Thanks for your prompt feedback. I will get in touch with out Notes Adminstartor.



6 - @8 - Ravi it looks like you have mail quotas enabled (which is probably why you looked here). If you know how to debug lotusscript you can probably make this code work in your environment. It works for most people so there is probably something different in your case.

I suspect that the quota enforement mechanism is kicking in when it ideally should not.

Hope that helps.

7 - error when run in notes7...

illegal circular user: JavaStatusBox

8 - RS - You'll need to involve either your Notes administrators or developers to use this code. I'm afraid its not something that ordinary users can put in place because you need to have the Domino Designer client. Sorry.

9 - Hey - great tip! I recognize that mail template!

10 - I have an illegal circular error:checkquotas. Can you tell me how to fix it.


Your Host

Kevin Pettitt View Kevin Pettitt's profile on LinkedIn

Tools I Use

Idea Jam

Subscribe to This Blog

 Full Posts  Comments

netvibes Add to Netvibes


Hosted by



This site is in no way affiliated, endorsed, sanctioned, supported, nor blessed by Lotus Software nor IBM Corporation, nor any of my past or future clients (although they are welcome to do so). The opinions, theories, facts, etc. presented here are my own and in no way represent any official pronouncement by me on behalf of any other entity.

© 2005-2019 Kevin Pettitt - all rights reserved as listed below.

Creative Commons License
Unless otherwise labeled by its originating author, the content found on this site is made available under the terms of an Attribution / NonCommercial / ShareAlike