Friday, August 21, 2009

QTP Script to send an email with attachments.

Sending an email with attachments:

The below script opens Outlook, sends an email message with attachment and closes Outlook. (I have used Outlook 2007). Write the below code in a new test in QTP and run it.

'using the CreateObject method to create an Outlook Application object.
Set olApp = CreateObject("Outlook.Application")
'GetNameSpace - Returns a NameSpace object of the specified type. It exists because outlook was designed to be usable with different kinds of data, each of which would be identified by its own namespace. So far, only one kind of data is supported in Outlook, MAPI data (Messaging Applicaiton Programming Interface).
Set olns = olApp.GetNameSpace("MAPI")
'logging into outlook application and displaying it
olns.Logon
Set objFolder = olns.GetDefaultFolder(6)
objFolder.Display
'below we are creating a new email message, assigning a recipient, subject etc. and sending it.
Set msg = olApp.CreateItem(olMailItem)
Set Recpt = msg.Recipients.Add("sachin@gmail.com")
msg.Subject = "Test Subject"
msg.body = "Test Body"
msg.attachments.add "C:\r.txt" ‘more on this http://msdn.microsoft.com/en-us/library/aa179041(office.10).aspx
msg.send
'waiting for some time till the Outlook sends the message before closing it. Needed if Outlook is slow.
Wait(30)
olApp.quit

Also See:

QTP & Microsoft Outlook Object Model
QTP Script to get inbox folder name in messagebox
QTP Script to count emails in any Outlook folder
QTP Script to enumerate all folders in Outlook
QTP Script to send an email from Outlook
QTP Script to read an email from Outlook
QTP Script to download an email attachment from Outlook