3 Simple Methods to Compress Image Attachments in Your Outlook Email

When you need to send multiple images as attachments to someone, if these images are too large, you may want to compress the image attachments. So, in this article, we will teach you 3 handy means to realize it.

As we all know, it usually takes longer to send out a large email in Outlook. For instance, if you try to send an email with multiple large image attachments, you’ll find that the image is stuck in the Outbox and Outlook is quite sluggish. In order to solve this problem, what you can do is to compress the image attachments. So, here we will introduce 3 approaches to achieve it.

Method 1:Change Size by “Send to Mail Recipient”

If you want to compress the images directly before attaching them to an Outlook email, you can use this method.

  1. For a start, in the Windows folder, select the images to be attached.
  2. Then, right click on them and select “Send to” > “Mail Recipient” option from context menu.Send to Mail Recipient
  3. Next, in the popup dialog box of “Attach Files”, modify “Picture Size” to your liking.Change Picture Size
  4. Finally, click “Attach” button.
  5. At once, a new mail will display, in which the compressed pictures have been attached.Attached Images in New Mail

Method 2: Zip All Image Attachments after Attaching

If you have attached the images to an email and want to compress them now, you can just compress them into a zip file. Here are the detailed steps.

  1. First off, keep the current email opened.
  2. Then, press “Alt + F11” to trigger Outlook VBA editor.
  3. Next, put the following code into a module.
Sub ZipImageAttachments()
    Dim objMail As Outlook.MailItem
    Dim objAttachments As Outlook.Attachments
    Dim objAttachment As Outlook.Attachment
    Dim i As Long
    Dim objFileSystem As Object
    Dim objShell As Object
    Dim varTempFolder As Variant
    Dim varZipFile As Variant
    Set objFileSystem = CreateObject("Scripting.FileSystemObject")
    varTempFolder = objFileSystem.GetSpecialFolder(2).Path & "\Temp " & Format(Now, "dd-mm-yyyy- hh-mm-ss-")
    MkDir (varTempFolder)
    varTempFolder = varTempFolder & "\"
    Set objMail = Outlook.Application.ActiveInspector.currentItem
    Set objAttachments = objMail.Attachments
    For i = objAttachments.Count To 1 Step -1
        Set objAttachment = objAttachments(i)
        If IsEmbedded(objAttachment) = False Then
           Select Case LCase(objFileSystem.GetExtensionName(objAttachment.FileName))
                  Case "jpg", "jpeg", "png", "bmp", "gif"
                        objAttachment.SaveAsFile (varTempFolder & objAttachment.FileName)
           End Select
        End If
    varZipFile = objFileSystem.GetSpecialFolder(2).Path & "\Images.zip"
    Open varZipFile For Output As #1
    Print #1, Chr$(80) & Chr$(75) & Chr$(5) & Chr$(6) & String(18, 0)
    Close #1
    Set objShell = CreateObject("Shell.Application")
    objShell.NameSpace(varZipFile).CopyHere objShell.NameSpace(varTempFolder).Items

    On Error Resume Next
    Do Until objShell.NameSpace(varZipFile).Items.Count = objShell.NameSpace(varTempFolder).Items.Count
       Application.Wait (Now + TimeValue("0:00:01"))
    On Error GoTo 0

    objMail.Attachments.Add varZipFile
End Sub

Function IsEmbedded(objCurrentAttachment As Outlook.Attachment) As Boolean
    Dim objPropertyAccessor As Outlook.PropertyAccessor
    Dim strProperty As String
    Set objPropertyAccessor = objCurrentAttachment.PropertyAccessor
    strProperty = objPropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001E")
    If InStr(1, strProperty, "@") > 0 Then
       IsEmbedded = True
       IsEmbedded = False
    End If
End Function

VBA Code - Zip All Image Attachments after Attaching

  1. After that, press “F5” key buttons.
  2. When macro finishes, return to the email window.
  3. You will see that all the image attachments have been converted into a zip file, as shown in the following screenshot.Zipped Image Attachments

Method 3:Auto Resize before Sending Email

If you do not want to compress them by zip, you can configure Outlook to auto resize large pictures before sending.

  1. To begin with, in the current mail, click “File” in the right upper corner.
  2. Then, on “Info” tab, select “Resize large images when I send this message”.Auto Resize large images when I send this message
  3. Eventually, just go back to the message and continue composing it at will.
  4. When you click “Send”, Outlook will automatically compress images.
  5. After it is sent out, you can check it in “Sent Items” folder. The image sizes are smaller than before.Smaller Images

Fix Corrupt Outlook PST File

As we all know, the larger your Outlook PST file, the easier to be corrupt Outlook file. Hence, it’s essential to always keep Outlook data file in small size. This can be realized by deleting useless attachments, archiving needless items and so on. In addition, so as to provide timely rescue, you have to get hold of a powerful PST fix tool, such as DataNumen Outlook Repair. It can help you fix compromised PST file with ease.

Author Introduction:

Shirley Zhang is a data recovery expert in DataNumen, Inc., which is the world leader in data recovery technologies, including sql fix and outlook repair software products. For more information visit www.datanumen.com

2 responses to “3 Simple Methods to Compress Image Attachments in Your Outlook Email”

  1. Thank you Shirley for this informative tip, including the useful VBA code. My question is somewhat related, perhaps you can help: I have many emails that I would like to keep, containing large image (photo; jpg) attachments. I already wrote code to detach the attachments (optionally saving them as files, first). But in many cases it would be helpful to maintain either a stamp-sized photo as a recall marker, or a reduced size image (most often the full camera resolution is totally unnecessary) together with the original email, which contains information about the sender, topic, date, etc. Would you have any suggestion how to reduce image sizes in received messages?

Leave a Reply

Your email address will not be published. Required fields are marked *