QTP,发送邮件地址

时间:2016-06-17 06:23:35

标签: email send outlook-vba qtp

我正在使用QTP Outlook对象模型发送电子邮件。

这是一段代码。

'Create an object of type Outlook
   Set objOutlook = CreateObject("Outlook.Application")
   Set myMail = objOutlook.CreateItem(0)

'Set the email properties
   myMail.To = "some_mail_id@gmail.com"
   myMail.CC = "some_mail_id_2@gmail.com; some_other_mail@yahoo.com" 'Sending mails to multiple ids
   myMail.BCC = "" 'If BCC is not required, then this line can be omitted
   myMail.Subject = "Sending mail from MS Outlook using QTP"
   myMail.Body= "Test Mail Contents"
   myMail.Attachments.Add("D:\Attachment.txt") 'Path of the file to be attached

'Send the mail
   myMail.Send

现在我需要检索发件人电子邮件地址&将其存储在环境变量中。 myMail.SendermyMail.sendermailaddres他们两个都没有帮我。

1 个答案:

答案 0 :(得分:1)

以下代码将为您提供与Outlook连接的用户可以访问的第一个电子邮件地址:

objOutlook.Session.Accounts.Item(0)

我使用循环查找我想要发送的帐户,如下所示:

iAccount = 0
For iLoop = 1 To oOutlook.Session.Accounts.Count
    If UCase(Trim(oOutlook.Session.Accounts.Item(iLoop))) = UCase(Trim(EmailData("SendFrom"))) Then
        iAccount = iLoop
        Exit For
    End If
Next

其中EmailData是一个Dictionary对象,包含我用于邮件项目的项目。创建邮件项目时,我使用Set oMailItem.SendUsingAccount = oOutlook.Session.Accounts.Item(iAccount)指定应从中发送的帐户。