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.
- For a start, in the Windows folder, select the images to be attached.
- Then, right click on them and select “Send to” > “Mail Recipient” option from context menu.
- Next, in the popup dialog box of “Attach Files”, modify “Picture Size” to your liking.
- Finally, click “Attach” button.
- At once, a new mail will display, in which the compressed pictures have been attached.
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.
- First off, keep the current email opened.
- Then, press “Alt + F11” to trigger Outlook VBA editor.
- 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) objAttachment.Delete End Select End If Next 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")) Loop 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 Else IsEmbedded = False End If End Function
- After that, press “F5” key buttons.
- When macro finishes, return to the email window.
- You will see that all the image attachments have been converted into a zip file, as shown in the following screenshot.
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.
- To begin with, in the current mail, click “File” in the right upper corner.
- Then, on “Info” tab, select “Resize large images when I send this message”.
- Eventually, just go back to the message and continue composing it at will.
- When you click “Send”, Outlook will automatically compress images.
- After it is sent out, you can check it in “Sent Items” folder. The image sizes are smaller than before.
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.
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
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?