Outlook Mailbox Cleanup and Best Practices
For the most part, attachments accounts for more than 90% of your mailbox size. The following techniques can help to minimize your Outlook mailbox size:
- Determine how much space you are using
- Empty Deleted Items Automatically
- Delete messages that are no longer needed
- Delete attachments that are no longer needed
- Delete Sent Items that are no longer needed
- Choose to not save Sent Items
- Add the Size field to your Inbox
- Verify that Journal is not activated
- Use Archiving to move or delete files based on age
Determine how much space you are using
To easily see how much file space is used by each of your Outlook folders: Right-click the "Outlook Today" icon in the Outlook bar or your folder list.
From the shortcut menu, choose Properties
Click the Folder Size button
The file size of each folder in your mailbox is listed in Kb. Also, look for:
folders that you do not use, folders that seem exceptionally large, the size of your Deleted Items folder, the size of your Journal folder - it should be zero or very small.
Empty Deleted Items Automatically
To make sure that your Deleted Items are emptied each time you exit Outlook:
Choose Tools, Options, and then click the other tab.
Verity that "Empty the Deleted Items folder upon exiting" checkbox is checked.
You can empty the Deleted Items folder at any time by right-clicking it and choosing Empty Deleted Items Folder from the Shortcut menu.
Delete messages that are no longer needed
Delete messages and folders that you no longer need by selecting them and clicking the Delete button on the toolbar.
Delete attachments that are no longer needed
Large attachments such as graphic files or databases can require enormous disk space. To replace an attachment with a shortcut to a network share or local folder path, check the links to a 3rd party Outlook Add-On Attachment archiving tool, while keeping record of the message sent or received.
Save attachments to your hard drive or network drive
You can save all the attachments within a message to your local hard drive or a network drive by opening the message and choosing File, Save Attachments. Or, you can then delete the attachments from the message. There is a VBA script that I found that help you archive all attachment and embedded pictures in the messages a destination path of your choice.
This VBA code will copy all attachments and embedded pictures from a specified Outlook folder to specific existing location:
Sub GetAttachments() 'If an error occurs, such as the target or destination folder 'don't exist, then go to the "GetAttachments_err" tag
On Error GoTo GetAttachments_err 'Create (dimensionate) the variables we're using, 'including the ones we use in the cycles 'This is the variable that will hold the folder we want to process
Dim folder As MAPIFolder 'This is a generic variable that will be used in Cycle(1), 'and will hold a reference to the current item in a folder 'being evaluated. It is an object because a folder item 'could be a mail message, a folder, or several other item types
Dim item As Object 'This is the variable that will hold a reference to each attachment 'we'll process, and has the methods for saving it
Dim attachment As attachment 'This is a variable that will have the full path for the saved file, 'and will be used to save the attachment
Dim fileName As String 'This is only a counter that will count how many attachments 'were processed (saved)
Dim attachmentCount As Integer 'I've separated the following variables, because it's easier 'to understand them like this. 'You could declare them with the rest without problem 'This variable will be used to process the target folder 'in Outlook's tree structure.
Dim folderPath As String 'The user will enter a full path (without "Personal Folders" 'at the beginning), and the macro will automatically 'reference the corresponding object. 'This instruction shows a dialog box where the user must enter 'the target folder path, using "\" as a separator
folderPath = InputBox("Please enter the target folder path, using '\' as a separator", "Please choose the folder to process") 'This variable is used together with slashPosition to divide 'folderPath and reach the target folder
Dim start As Integer start = 1 'In VBA collections start from 1, not from 0 as in C# 'This variable is used together with slashPosition to divide 'folderPath and reach the target folder
Dim slashPosition As Integer 'We now use the InStr function, which receives the start position '(optional), a source string, a string to look for 'in the first string, and a comparison method, binary, directory or text. 'We use the last one
slashPosition = InStr(start, folderPath, "\", vbTextCompare) 'Session is the object that corresponds to the current user session. 'It has a Folders collection, where you have the 'root folders, such as "Personal Folders". 'The first one (remember that collections start in 1) is Personal Folders.
Set folder = Session.Folders.item(1) 'This will help us to get the reference to the specified folder 'in the hierarchy
While slashPosition > 0 '"while there are more slashes in the string
'The folders collection can be accessed by folder name. 'What we do here is set same folder option as it's child, 'by accessing the folders collection using the result of the 'Mid function call. This function receives a string, 'a start position and an amount of characters, 'and returns the sub-string
Set folder = folder.Folders(Mid(folderPath, start, slashPosition - start)) 'After we assigned the folder object, 'we set the variables that control the cycle 'This "If" is used to check if the text entered by the user 'ends with "\"
If (slashPosition < Len(folderPath)) Then ' The start position is the character next to the "\" start = slashPosition + 1 slashPosition = InStr(start, folderPath, "\", vbTextCompare) End If Wend 'After we processed the string, we set the folder to the last item 'of the hierarchy. 'If there were no slashes on the text entered by the user, 'then this is the only instruction executed; the cycle is not used 'We subtract 1 from "start" because "collections in VBA start in 1" '(believe it or not, this was one of my headaches when writing this macro) Set folder = folder.Folders(Mid(folderPath, start, Len(folderPath) - (start - 1))) 'We set the attachment count in 0
attachmentCount = 0 'If there are no subitems in the selected folder, 'then the macro shows a message and exits
If folder.Items.Count = 0 Then MsgBox "There are no messages in the selected folder, so no attachment will be saved.", vbInformation, "Done" Exit Sub End If 'This variable holds the path to the folder where the attachments 'will be saved
Dim saveFolderPath As String 'We use the same method as above, '"InputBox", with an extra (optional) parameter, "DefaultValue"
saveFolderPath = InputBox("Enter the destination path", "Choose a destination path that was cerated beforehand", "c:\tmp") 'Cycle(1)
For Each item In folder.Items 'For each item in the folder
For Each attachment In item.Attachments 'Every item, disregarding it's type, has the attachment collection 'We set the file name for this attachment using the path chosen by 'the user and the filename of the attachment
fileName = saveFolderPath + "\" & attachment.fileName 'We call the "SaveAsFile" method of the attachment object 'and pass "filename" as a parameter to save it to 'the desired location
attachment.SaveAsFile fileName 'We increment the attachment count variable attachmentCount = attachmentCount + 1 Next attachment Next item 'If at least one attachemt was saved, we show the user how many and 'where they were saved
If attachmentCount = 1 Then MsgBox attachmentCount & " attachments was found." _ & vbCrLf & "They were saved in " + saveFolderPath + ".", _ vbInformation, "Done!" Else If attachmentCount > 1 Then MsgBox attachmentCount & " attachments were found." _ & vbCrLf & "They were saved in " + saveFolderPath + ".", _ vbInformation, "Done!" Else MsgBox "No attachment was found.", vbInformation, "Done!" End If End If 'We dispose the objects we used by setting them null
GetAttachments_exit: Set attachment = Nothing Set item = Nothing Exit Sub
'If there is any error, this code section is executed, after which 'the objects are disposed by resuming execution at '"GetAttachments_exit"
GetAttachments_err: MsgBox "An unexpected error has occurred." _ & vbCrLf & "Please note and report the following information." _ & vbCrLf & "Macro Name: GetAttachments" _ & vbCrLf & "Error Number: " & Err.Number _ & vbCrLf & "Error Description: " & Err.Description _ , vbCritical, "Error!" Resume GetAttachments_exit End Sub |
Delete Sent Items that are no longer needed
Select messages in the Sent Items folder that you no longer need and empty the Deleted Items folder
Choose to not save Sent Items
If you do not wish to keep a copy of messages you send for future reference, turn off the automatic saving of Sent Items by choosing Tools, Options, Preferences, then click the E-mail Options button. Clear the check box for save copies of messages in Sent Items Folder.
Add the Size field to your Inbox
Seeing the size of each message may help you in your cleanup effort. To add a Size field to your Inbox:
With your Inbox active, choose View, Current View, and Customize Current View.
Click the Fields button.
In the Available Fields list, click Size.
Click Add.
Click OK, OK to return to your Inbox. The size of each message will be displayed at the right edge of the Information Viewer.
Verify that Journal is not activated
The Outlook Journal is a feature that tracks a variety of Outlook actions, such as sending messages or running programs. The Journal should not be activated unless you have a specific reason for tracking some of your actions. If the file size of your Journal folder was not zero, choose Tools, Options, Preferences, then click the Journal button. Clear all check boxes.
Delete all Journal entries by clicking the Journal icon on the Outlook Bar or Folder List to display the Journal entries in the Information Viewer. Press Ctrl+A to select all entries then click the Delete button on the toolbar to delete the selected items.
Use Archiving to move groups of files based on age
Outlook's Archive feature will move groups of files based on age to your local hard drive or network drive. This feature is designed for files which you do not use regularly but that you do not want to delete and may need in the future. You can add to the archive file at regular intervals and your existing folder structure is maintained in your new archive file. Archive items are not available to you in Outlook unless you add them as a Service.
You can archive manually anytime you wish or you can set Auto-Archive to archive automatically at timed intervals.
Be sure to delete any files or attachments that you do not wish to save BEFORE archiving.
Manual Archive
To manually archive Outlook items:
Choose File, Archive.
Select Archive this folder and all subfolders.
Select the folder or folders that you wish to archive.
Use the Archive items older than box to select the Outlook items to archive.
Set the file name and location, for example, My Documents\archive.pst
You can add to an archive file with subsequent archive operations.
Auto-Archive
Auto-Archive will automatically move or delete items in specific folders that exceed a specified age. You can automatically archive individual folders, groups of folders, or all Outlook folders. The process runs automatically whenever you start Outlook. The Auto-Archive properties of each folder are checked by date, and old items are moved to your archive file. Items in the Deleted Items folder are deleted.
Auto-Archive is a two-step process:
Turn on Auto-Archive by choosing Tools, Options, Other tab, and then click AutoArchive.
Set the AutoArchive properties for each folder that you want archived.
Several Outlook folders are set up with AutoArchive turned on. These folders and their default aging periods are:
Calendar (6 months)
Tasks (6 months)
Journal (6 months)
Sent
Items (2 months)
Deleted
Items (2 months)
Inbox, Notes, Contacts, and Drafts do not have AutoArchive activated automatically.
Links to 3rd party Add-On products for bulk manipulation of Outlook Attachmnets
Attachment Processor: http://attachments-processor-for-outlook.mapilab-ltd.qarchive.org/ $39
Or,
Outlook Attachment extractor: http://www.filetransit.com/view.php?id=32166 $29
No comments:
Post a Comment