There are various ways to program Outlook: Visual Studio Tools for Office (VSTO), COM Addins and Visual Basic for Applications (VBA). As far as VSTO is concerned, the idea of programming add-ins in C# or other .NET languages may seem fascinating but the requirements of a heavy runtime, as well as the idiosyncrasies of .NET framework versions (and frequent API changes) will cause you enough trouble to drop the idea.
Then we are left with COM Addins and Visual Basic for Applications. While the preferred way in terms of security and redistribution is COM Addins, VBA isn't bad either. Nevertheless, you need to understand Outlook object model, no matter what paradigm you adhere to. So, here is a very quick solution to trapping blank subject of outgoing emails using VBA. It isn't hard to convert the code to a compiled COM Addin.
Private Sub Application_ItemSend (ByVal Item As Object,
Cancel As Boolean)
If (Not Item.Class = olMail) Then Exit Sub
If (Item.Subject = "") Then
answer = MsgBox("Do you want to send the message without entering a subject",
vbYesNo + vbSystemModal)
If (answer = vbNo) Then
Cancel = True
Where to put in this code? Hit Alt-F11 in MS Outlook to open up the VBA editor, and copy n' paste this code. Make sure that you set the macro security to Medium so that Outlook asks you before enabling/ disabling a macro.
Programming Outlook 2007 by Ken Slovak from Wrox is a no nonsense book. If you have ever participated in the Outlook newsgroup, you already know who Ken Slovak is. You should get it if you want a head-start in Outlook programming. The only caveat is that the book discusses Outlook 2007, with very few lessons on programming older versions of the office application.