You are missing a parentheses, and I like to be specific
If InStr(LCase(Item.To), "bad e-mail address here")) > 0 Then[/CODE]
I think that you will find that code a bit unwieldy when you get too many bad addresses. Check out the code below. Its advantages are speed, removing the list from the main sub, and with BadAdds declared as a static and the two redundant If_initialized checks, the Sub "Init_BadAds" only runs once per session. The Sub "Init_BadAdds" and the variable "Bad_Adds" can also be moved to their own module if desired. The Init Sub can then be called prior to running Application_Sendtem.
Static BadAdds As Variant
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim i As Long
If BadAdds = "" Then Init_BadAdds
For i = LBound(BadAdds) To UBound(BadAdds)
If LCase(Item.to) = BadAdds(i) Then
Prompt$ = "You are sending this to " & Item.to & ". Are you sure you want to send it?"
If MsgBox(Prompt$, vbYesNo + vbQuestion + vbMsgBoxSetForeground, "Check Address") = vbNo Then
Cancel = True
Exit Sub '
End If
End If
Next i
End Sub
Sub Init_BadAdds()
'double-double check if BadAdds is intialized
If BadAdds = "" Then _
BadAdds = Array( _
"adam@email.com", _
"bill@email.com", _
"Charlie@email.com", _
"Dave@email.com", _
"etc@etc.com")
End Sub