Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

How can Microsoft Outlook be configured to require a subject in outgoing E-mails?

I have never used Microsoft Outlook (I am a die-hard Eudora user), but most of my colleagues do use it. Often I get messages with empty subjects. Thus I would like to know what to instruct them to do in order to eliminate this problem.

Is the configuration different for different editions of Outlook (Outlook Express, Outlook 2007, etc.) ?

share|improve this question
What version of Outlook? 2007, 2003, etc? – heavyd Jul 28 '09 at 12:26
Outlook 2007 for my particular problem. – Peter Mortensen Jul 28 '09 at 13:05
up vote 5 down vote accepted

This method I found requires you to make a VBA script: How-To Write Macro For Blank Subject Warning In Microsoft Outlook

or try this method suggested by Kenneth in the comments!

In this article, we will write a Macro for validating Blank Subject in Microsoft Outlook client. Follow the steps below in order to create such a macro

  1. Ensure that Macros are enabled for your Microsoft Office Outlook. Macros don’t work with Microsoft Outlook Express, therefore this setup cannot be achieved with Microsoft Outlook Express.
  2. Ensure that your security level is set to Medium. You can set the security level by clicking on Tools –> Macro –> Security. Set the desired level to Medium.
  3. Traverse through Tools –> Macro –> Visual Basic Editor ( Or press ALT + F11)
  4. Expand Project 1 by clicking on the + sign.

    alt text

  5. Expand Microsoft Office Outlook Objects.
  6. Double click ThisOutlookSession.
  7. Copy paste the following code.

    Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
      Dim strSubject As String
      strSubject = Item.Subject
      If Len(Trim(strSubject)) = 0 Then
              Prompt$ = "Subject is Empty. Are you sure you want to send the Mail?"
        If MsgBox(Prompt$, vbYesNo + vbQuestion + _
          vbMsgBoxSetForeground, "Check for Subject") = vbNo Then
          Cancel = True
        End If
      End If
    End Sub

    alt text

    Image: Macro for validating empty subject line in Microsoft Outlook.

  8. Once the code is pasted, click on Save and then Exit. The above code ensures that when you send an email, the subject line is not blank. If, the length of the subject line is zero, the macro alerts you with a popup.

Am sure, once you have created this macro, you will be able to avoid sending blank subject emails.

share|improve this answer
Yes a macro is the fastest way to get this behavior.… I'm sure there are commercial addons for outlook that would do this as well. Seems like an oversight that Outlook doesn't include this feature as an optional setting. – Kenneth Cochran Jul 28 '09 at 12:34
I thought I clicked the button to add the link, turned out I clicked the Post answer (I post too much!). Then I decided to format the darn thing – Ivo Flipse Jul 28 '09 at 12:34
Can you format your code please. – ChrisF Jul 28 '09 at 12:39
I tried, but it's a nightmare... I will try again – Ivo Flipse Jul 28 '09 at 12:55
I looked for a registry hack to do this and it looks like your method is the only one out there. If there is such a feature supported natively, it is undocumented. – Axxmasterr Jul 28 '09 at 13:34

Just categorize the existing blank subject messages and create a rule that move the messages with this category to other folder (and disable conversation on this folder). Outlook automatically categorize the new messages, and the rule does the job. Ta-da!

share|improve this answer
Does this action (moving the messages) happen before the message is sent? – Peter Mortensen Dec 14 '11 at 10:05

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.