Use the Sent Items folder's "ItemAdd" event instead of MailItem's "Send" event.
I found this post by Rob Gravelle explaining why it is easier to use the event of an email being added to "Sent Items" as a trigger.
Gravelle provides this sample VBA script that moves the Sent item to "FOSS Export (CR-035)" if the recipient address contains "RobGravelleAndCo.com":
Option Explicit
Public WithEvents oSentItems As Items
Private oBusinessFolder As MAPIFolder
Private Const BUSINESS_FOLDER = "FOSS Export (CR-035)"
Private Const PARTNER_EMAIL_ADDRESS = "RobGravelleAndCo.com"
Private Sub Application_Startup()
Dim oSentItemsFolder As MAPIFolder
Set oSentItemsFolder = Application.Session.GetDefaultFolder(olFolderSentMail)
Set oSentItems = oSentItemsFolder.Items
Set oBusinessFolder = oSentItemsFolder.Parent.Folders(BUSINESS_FOLDER)
End Sub
Private Sub oSentItems_ItemAdd(ByVal item As Object)
Dim oRecipient As Recipient
Select Case item.Class
Case olMail, olMeetingRequest
For Each oRecipient In item.Recipients
If InStr(1, oRecipient.Address, PARTNER_EMAIL_ADDRESS) Then
item.Move oBusinessFolder
Exit For
End If
Next
End Select
End Sub
I wanted Outlook to choose the Sent Items folder based on the "From" field, instead of the "To" field. I modified Gravelle's script into a VSTO add-in that prompts for a "Sent Items" folder each time you use a new "From" address. I posted the source code on GitHub if anyone wants to try it or fork it:
SentFolderByFrom