Instr has a case-insensitive compare. You can write it as such:
Code:
If InStr(1, oMessage.To, "distrlist@domain.com", vbTextCompare) Then
HOWEVER - as I discovered today, this can have unintended consequences if not watched carefully. If you have a user "jsmith@domain.com", and a list "smith@domain.com", it will incorrectly identify mail to "jsmith@domain.com" as being a list mail, because it contains the string "smith@domain.com".
There is no real perfect solution, but this is what I ended up using:
Code:
Sub OnDeliverMessage(oMessage)
If IsMessageToList(oMessage, "list1@domain.com") Then
oMessage.HeaderValue("Reply-To") = "list1@domain.com"
oMessage.Save
End If
If IsMessageToList(oMessage, "list2@domain.com") Then
oMessage.HeaderValue("Reply-To") = "list2@domain.com"
oMessage.Save
End If
End Sub
Function IsMessageToList(oMessage, sList)
IsMessageToList = False
If LCase(oMessage.To) = LCase(sList) Then IsMessageToList = True
If LCase(oMessage.CC) = LCase(sList) Then IsMessageToList = True
If InStr(1, oMessage.To, "<" & sList & ">", vbTextCompare) Then IsMessageToList = True
If InStr(1, oMessage.CC, "<" & sList & ">", vbTextCompare) Then IsMessageToList = True
End Function