When a message is sent in Outlook, the message is saved in the appropriate sent items folder. In an effort to keep mailbox sizes small(er), we would like to see if there is a way to automatically strip any attachments from outgoing saved messages. This doesn’t need to be implemented via group policy or anything, it’s just something we’re looking into at this point.
Is this possible to do in Outlook 2010 or 2013 (either Windows 7 or 8.1)?
This question from Outlook user wanted to know how to remove several
attachments from a message in one step.
I want to keep sent messages but not the attachments. Is there an
easier method than clicking on the attachment to delete it? Better
yet, can I select several sent messages and remove the attachments
from all of the messages?
Outlook doesn’t have this functionality built in so you’ll need to use
an add-in or VBA, but yes, it can be done.
See Attachment Management Tools for Outlook for add-ins or More
Information for additional macros, including code samples that can
save the attachments to the hard drive before deleting them from the
This code will work with sent or received messages, in any folder. To use, add the code to the VBA editor, select the messages
that you want to delete the attachment from and run it.
Sub DeleteAllAttachmentsFromSelectedMessages() Dim myAttachment As Attachment Dim myAttachments As Attachments Dim selItems As Selection Dim myItem As Object Dim lngAttachmentCount As Long ' Set reference to the Selection. Set selItems = ActiveExplorer.Selection ' Loop though each item in the selection. For Each myItem In selItems Set myAttachments = myItem.Attachments lngAttachmentCount = myAttachments.Count ' Loop through attachments until attachment count = 0. While lngAttachmentCount > 0 myAttachments(1).Delete lngAttachmentCount = myAttachments.Count Wend myItem.Save Next MsgBox "All Done. Attachments were removed.", vbOKOnly, "Message" Set myAttachment = Nothing Set myAttachments = Nothing Set selItems = Nothing Set myItem = Nothing End Sub