Outlook application is currently running and connected at the time the script was run or
Outlook profile named "myprofile" have been defined on the machine where the script is being run and the profile will launch outlook and with saved logon password
outlooksendfile.vbs
On Error Resume Next
Dim olProfile
Dim sSubject,sRecipients,sLogfile
Dim sMessageBody
Dim MessageAttachment1
Dim ol, ns, newMail
Set oArgs = Wscript.Arguments
If oArgs.Count < 2 Then
wscript.echo "Syntax: outlooksendfile.vbs filename recipients subject"
else
sLogfile = oArgs(0)
sRecipients = oArgs(1)
sSubject = oArgs(2)
If Err.Number = 0 Then
Wscript.Echo "Outlook is running ... " & vbCrLf
Else
Wscript.Echo "Outlook is not running, launching outlook first ..." & vbCrLf & vbCrLf & "See Attached"
Set oShell = CreateObject("WScript.Shell")
oShell.Run "Outlook.Exe /profile " & olProfile
WScript.Sleep 30000
End If
Wscript.Echo "Getting Outlook app object ..." & vbCrLf
Set ol = GetObject(,"Outlook.Application")
Set ns = ol.getNamespace("MAPI")
bCanSend = false
aRecipients = Split(sRecipients,";")
for each sRecipient in aRecipients
Set myRecipient = ns.CreateRecipient(sRecipient)
myRecipient.Resolve
If Not myRecipient.Resolved Then
MsgBox sRecipient + "is an Unknown recipient"
Else
newMail.Recipients.Add(sRecipient)
bCanSend = true
End If
next
if bCanSend Then
newMail.Attachments.Add(sLogfile).Displayname = "Attachment"
newMail.Send
End If
Set ol = Nothing
Set olTest = Nothing
end if
Example
cscript outlooksendfile.vbs myresume.txt "tom@example.com;dick@example.com;harry@example.com" "My Resume"