В UFT я написал функцию электронной почты с помощью VBScript, но электронная почта не запускается из моего почтового ящика.

В UFT я написал функцию электронной почты с помощью VBScript, но электронная почта не запускается из моего почтового ящика. Это срабатывает от [email protected], хотя я также упомянул адрес отправителя.

Пожалуйста, помогите мне исправить электронное письмо, которое будет запускаться из моего почтового ящика заинтересованным сторонам. Я использую Outlook 15.

Пожалуйста, найдите мой код ниже, чтобы проверить и помочь.

Function Email
'Dim ToAddress
'Dim Subject
'Dim Body
Dim Attachment
Dim oUtlookApp, nAmeSpace, newMail
Dim fso, TextFile

SystemUtil.Run "C:\Program Files\Microsoft Office 15\root\office15\OUTLOOK.EXE" 'This line should be enabled if the Outlook on the desktop is not running
If strMailID_From <> "abc@<abc>.co.za" Then
FromAddress = strMailID_From
Else
FromAddress = "abc@<abc>.co.za"
End If

ToAddress = "abc@<abc>.co.za" ' Message recipient Address

Set oUtlookApp = CreateObject("Outlook.Application")
Set nAmeSpace = oUtlookApp.GetNamespace("MAPI")
Set newMail = oUtlookApp.CreateItem(1)

Subject = "This is a test mail" 'Message Subject you can update

'For Creating File System Object
Set fso = Createobject ("Scripting.FileSystemObject")

'For Opening the Report File in Append Mode
Set TextFile = fso.OpenTextFile(strPath & "results.html" , 8, True)
strExecutionTimeFormate=Replace(strExecutionTime,"-",":")
TextFile.Write "<html><head><title>VAF -S2K - Automation Execution Consolidated Result</title></head>"
TextFile.Write "<body bgcolor=#3D5FA3><table width=100% bgcolor=#FFFFFF border=2 cellpadding=2 cellspacing=1>"
TextFile.Write "<tr bgcolor=#CBD9F4></td><td bgcolor=#CBD9F4 width = 100%><div align=center><font color=purple><font size=5><p><strong>Automation Execution Consolidated Results</strong></p><font color=purple><font size=5><p><strong><font size=3>Execution Date -"&strExecutionDate&"  Execution Time :"&strExecutionTimeFormate&" [HH:MM:SS]</strong></p></td></div></tr>"
TextFile.Write "<body bgcolor=#3D5FA3><table width=100% bgcolor=purple border=1 cellpadding=3 cellspacing=1>"
TextFile.Write "<tr bgcolor=#CBD9F4></td><td bgcolor=#CBD9F4 width = 100%><div align=center><font color=purple><font size=5><font size=3><p><strong>Portfolio : VAF &nbsp || &nbsp Application  : S2K &nbsp || &nbsp Environment : SIT 1 &nbsp || &nbsp Project : Sanity Testing</strong></td></Table>"
TextFile.Write "<body bgcolor=#3D5FA3><table width=100% bgcolor=purple border=1 cellpadding=3 cellspacing=1>"
TextFile.Write "<tr><td bgcolor=white width = 20%><div align=Center><font color=Black><strong>APPLICATION</td><td bgcolor=white width = 45%><div align=Center><font color=Black><strong>TEST CASE NAME</td><td bgcolor=white width = 20%><div align=Center><font color=Black><strong>TEST CASE STATUS</td><td bgcolor=white width = 15%><div align=Center><font color=Black><strong>RUN TIME</td></Table>"
TextFile.Write "<body bgcolor=#3D5FA3><table width=100% bgcolor=purple border=1 cellpadding=3 cellspacing=1>"
'|| &nbsp Cycle : 1 &nbsp
'TextFile.Write "<tr bgcolor=#IBD9F4></td><td bgcolor=#IBD9F4 width = 100%><div align=center><font color=purple><font size=5><p><strong>Automation Execution  Consolidated Results</strong></p><font color=purple><font size=5><p><strong><font size=3>Execution Date -"&strExecutionDate&"  Execution Time :"&strExecutionTimeFormate & "</strong></p><font color=purple><font size=3><p><strong>Portfolio : Self Service Channel     Application  : Internet Banking     Cycle : 1     Project : Regression Testing</strong></td></div></tr>"
TextFile.Close

newMail.Subject = Subject
newMail.Body = Body
newMail.Recipients.Add(ToAddress)
newMail.Attachments.Add(strPath & "results.html") 'You can update attachment file name
newMail.Send
Set nAmeSpace = Nothing
Set oUtlookApp = Nothing

End Function

person SAUMARS    schedule 29.06.2017    source источник


Ответы (1)


Если вы не укажете учетную запись для отправки, по умолчанию будет использоваться ваш первый почтовый ящик.

Я использую объект словаря EmailData, чтобы указать детали электронных писем, которые я отправляю из UFT. Если вы хотите, чтобы почта отправлялась из определенного почтового ящика, вам нужно определить соответствующий ящик и установить MailItem в .SendUsingAccount как тот, который вы хотите.

Если запись в моем входящем словаре пуста, то по умолчанию используется первая учетная запись, к которой имеет доступ отправляющий пользователь (обычно его личная). В противном случае он просматривает учетные записи, чтобы найти почтовый ящик, который он должен использовать. Если он не существует, он завершает работу и сообщает, что у пользователя нет доступа к требуемому почтовому ящику.

В противном случае он устанавливает адрес для отправки при создании mailitem.

Дайте мне знать, если вам нужна дополнительная помощь в этом?

If EmailData("SendFrom") = "" Then
    ' default to first email account the user has access to
    LOG_Write "Send From value is not set; defaulting to user's personal mail account to send from."
    iAccount = 1
Else
    LOG_Write "Checking to see if the account to send from is accessible by this user..."
    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
    If iAccount = 0 Then
        sErrorMsg = "Cannot send email from specified account: " & EmailData("SendFrom") & " as this user doesn't appear to have access to it in Outlook!"
        LOG_Write sErrorMsg
        OL_SendMail = False
        Exit Function
    End If
End If

Dim oMailItem : Set oMailItem = oOutlook.CreateItem(olMailItem)
With oMailItem
    Set .SendUsingAccount = oOutlook.Session.Accounts.Item(iAccount)
    .To = EmailData("To")
    .CC = EmailData("CC")
    .BCC = EmailData("BCC")
    .Subject = EmailData("Subject")
    .Body = EmailData("Body")
    sAttachArray = Split(EmailData("AttachmentPaths"), ";")
    For Each sAttachment In sAttachArray
        .Attachments.Add(sAttachment)
    Next
    .Recipients.ResolveAll
    .Display    ' debug mode - uncomment this to see email before it's sent out
End With
person Dave    schedule 29.06.2017
comment
Привет, Дэйв. После успешного выполнения моего тестового сценария я получаю сообщение об ошибке в функции электронной почты (несоответствие типов: «EmailData»). А также электронная почта должна быть отправлена ​​​​из моего почтового ящика. Даже я указал свой адрес электронной почты вместо SendFrom. Это не сработало. Пожалуйста помогите. - person SAUMARS; 29.06.2017
comment
Вы настроили его как объект словаря? Я не предлагал вам просто скопировать этот раздел моего кода (моя функция для отправки электронной почты делает немного больше работы, чем показано), но чтобы показать вам, что вам нужно сделать, чтобы установить значение отправки с этой учетной записи на почтовый пункт. - person Dave; 29.06.2017