В UFT я написал функцию электронной почты, используя VBScript, но электронная почта не запускается из моего почтового ящика
В UFT я написал функцию электронной почты, используя VBScript, но электронная почта не запускается из моего почтового ящика. Это триггер из SBGalert@.co.za, в то время как я также упомянул адрес From.
Пожалуйста, помогите мне исправить письмо, которое будет отправлено из моего почтового ящика заинтересованным лицам. Я использую 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   ||   Application : S2K   ||   Environment : SIT 1   ||   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>"
'||   Cycle : 1  
'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
1 ответ
Если вы не укажете учетную запись для отправки, по умолчанию будет использоваться ваш первый почтовый ящик.
Я использую объект словаря EmailData
указать детали для писем, которые я отправляю UFT
, Если вы хотите, чтобы почта отправлялась из определенного почтового ящика, вам нужно определить соответствующий и установить MailItem
"s .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