"Pre-Delivery Agents" were added to Domino R5. This lets you run an agent before a mail message is deposited into a user's mailbox. You can use this new feature in R5's mail template (mail50.ntf) to strip out all .vbs and .shs attachments from users' incoming mail. Create an agent named "Remove MS Viruses" in the R5 mail template. Set the agent to run "Before New Mail Arrives". Sign this agent with an ID that can run restricted agents on the server. Put this code in the agent's Initialize event:
Sub Initialize Dim session As New NotesSession Dim doc As NotesDocument Dim rtitem As Variant Dim p1 As Integer Dim p2 As Integer Dim filename As String
Set doc = session.DocumentContext Set rtitem = doc.GetFirstItem("Body") If (rtitem.Type = RICHTEXT) Then If (Isarray(rtitem.EmbeddedObjects)) Then Forall obj In rtitem.EmbeddedObjects If (obj.Type = EMBED_ATTACHMENT) Then filename = Lcase(obj.Source) p1 = Instr(1, filename, ".vbs", 5) p2 = Instr(1, filename, ".shs", 5) If ((p1 > 0) Or (p2 > 0)) Then Call obj.Remove Call doc.Save(True, True) End If End If End Forall End If End If End Sub
The most common Win32 extension types to worry about are (there may be others):
.com, *.exe, *.bat, *.vbs, *.vbe, *.js, *.jse, *.hta, *.wsf, *.wsh, *.shs, *.scr, *.pif, *.xml, *.lnk, *.eml
In R6+, you can define server rules to remove messages that have certain extensions.