Check Email Size Before Sending

Get a prompt if the size of an email exceeds a certain limit.

Last modified: 2006/01/18 | Accessed: 69.891  | #5
◀ Previous sample Next sample ▶
Reporter Reporter
VBOffice Reporter is an easy to use tool for data analysis and reporting in Outlook. A single click, for instance, allows you to see the number of hours planned for meetings the next month.

This sample checks an e-mail's size before sending. You can cancel if it exceeds a pre-determined size. Here the limit is set to 10,000 bytes, which is a little less than 10kb. Adjust the value if needed.

tip  How to add macros to Outlook
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
  If TypeOf Item Is Outlook.MailItem Then
    Cancel = Not (ConfirmBigAttachments(Item))
  End If
End Sub

Private Function ConfirmBigAttachments(oMail As Outlook.MailItem) As Boolean
  Dim lSize As Long
  Const MAX_ITEM_SIZE As Long = 10000 ' Byte
  Dim bSend As Boolean

  bSend = True
  If oMail.Attachments.Count Then
    lSize = oMail.Size
    If lSize > MAX_ITEM_SIZE Then
      bSend = (MsgBox("Item's size: " & lSize & " Byte. Cancel?", vbYesNo) = vbNo)
    End If
  End If
  ConfirmBigAttachments = bSend
End Function
Determine the "identity" of your emails. Set with SAM the sender and the folder folder for sent items with the help of rules.
email  Send a message