water Posted September 20, 2022 Author Posted September 20, 2022 Add the following line to your script and check if the body is HTML. #include <OutlookEx.au3> ; Open the connection to Outlook Global $oOL = _OL_Open() ; Create a mail item and set some properties Global $oItem = _OL_ItemCreate($oOL, $olMailItem, "*\Outlook-UDF-Test\TargetFolder\Mail", "", _ "Subject=TestMail", "BodyFormat=" & $olFormatHTML, "HTMLBody=Bodytext in <b>bold</b>.", "SentOnBehalfOfName=Doe Jane") ; Add a recipient and resolve it _OL_ItemRecipientAdd($oOL, $oItem, Default, $olTo, "Doe John") $oItem.Display ; <<<<<<<< add this line ; Send the mail _OL_ItemSend($oOL, $oItem) If @extended = -2147352567 Then _ MsgBox(16, "OutlookEX UDF - Example Script", "You don't have permission to send the mail on behalf of the specified person!") _OL_Close($oOL) Is there a John or Jane Doe in your company? My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
NolleWed Posted September 20, 2022 Posted September 20, 2022 (edited) 26 minutes ago, water said: Add the following line to your script and check if the body is HTML. #include <OutlookEx.au3> ; Open the connection to Outlook Global $oOL = _OL_Open() ; Create a mail item and set some properties Global $oItem = _OL_ItemCreate($oOL, $olMailItem, "*\Outlook-UDF-Test\TargetFolder\Mail", "", _ "Subject=TestMail", "BodyFormat=" & $olFormatHTML, "HTMLBody=Bodytext in <b>bold</b>.", "SentOnBehalfOfName=Doe Jane") ; Add a recipient and resolve it _OL_ItemRecipientAdd($oOL, $oItem, Default, $olTo, "Doe John") $oItem.Display ; <<<<<<<< add this line ; Send the mail _OL_ItemSend($oOL, $oItem) If @extended = -2147352567 Then _ MsgBox(16, "OutlookEX UDF - Example Script", "You don't have permission to send the mail on behalf of the specified person!") _OL_Close($oOL) Is there a John or Jane Doe in your company? I can´t see the mail in the testscript and also not in Outlook itself. There is no John or Jane Doe in my company Edited September 20, 2022 by NolleWed
NolleWed Posted September 20, 2022 Posted September 20, 2022 (edited) But I replace in my real script $oOutlook = ObjGet("", "Outlook.Application") ; Outlook öffnen with $oOutlook= _OL_Open() and now the Body is filled I stop the script before the recipient will be added and it works until this point $oOutlook= _OL_Open() ;wenn Carrier nicht in Mail-Liste, dann Mail ans PF zur Prüfung, wie bei Neli-Liste ;neue E-Mail wird erstellt if $CarrierEMail = "nicht gefunden" Then $oItem = _OL_ItemCreate($oOutlook, $olMailItem, "", "", "Subject=[AutoIT:ZU PRUEFEN] #abw# weiterversorgen #kurzfristiger Storno# " & $alleNummern & " , " & $relevanteNummer & " , " & $Kundennummer_Wert, "", "SentOnBehalfOfName=ABW-Clearing-D019@telefonica.com") $EMail = "ABW-Clearing-D019@telefonica.com" Else $oItem = _OL_ItemCreate($oOutlook, $olMailItem, "", "", "Subject=#abw# weiterversorgen #kurzfristiger Storno# " & $alleNummern & " , " & $relevanteNummer & " , " & $Kundennummer_Wert, "", "SentOnBehalfOfName=ABW-Clearing-D019@telefonica.com") $EMail = $CarrierEMail EndIf ConsoleWrite($EMail & @LF) $EMailCC = "ABW-Clearing-D019@telefonica.com" ;neue E-Mail wird angezeigt $oItem.display $oItem.BodyFormat = $olFormatHTML ;E-Mailtext wird wird gesucht $sBody = $oItem.HTMLBody ;die Mail wird befüllt $oItem.HTMLBody = $HTMLKDDaten & $sBody Exit _OL_ItemRecipientAdd($oOutlook, $oItem, Default, $olTo, $EMail) ; Empfänger wird gesetzt _OL_ItemRecipientAdd($oOutlook, $oItem, Default, $olCC, $EMailCC) ; CC wird gesetzt $oItem.send ;Email wird versendet Edited September 20, 2022 by NolleWed
NolleWed Posted September 20, 2022 Posted September 20, 2022 (edited) Now I stop the script after the recipient will be added but nothing happens $oOutlook= _OL_Open() ; wenn Carrier nicht in Mail-Liste, dann Mail ans PF zur Prüfung, wie bei Neli-Liste ; neue E-Mail wird erstellt if $CarrierEMail = "nicht gefunden" Then $oItem = _OL_ItemCreate($oOutlook, $olMailItem, "", "", "Subject=[AutoIT:ZU PRUEFEN] #abw# weiterversorgen #kurzfristiger Storno# " & $alleNummern & " , " & $relevanteNummer & " , " & $Kundennummer_Wert, "", "SentOnBehalfOfName=ABW-Clearing-D019@telefonica.com") $EMail = "ABW-Clearing-D019@telefonica.com" Else $oItem = _OL_ItemCreate($oOutlook, $olMailItem, "", "", "Subject=#abw# weiterversorgen #kurzfristiger Storno# " & $alleNummern & " , " & $relevanteNummer & " , " & $Kundennummer_Wert, "", "SentOnBehalfOfName=ABW-Clearing-D019@telefonica.com") $EMail = $CarrierEMail EndIf ConsoleWrite($EMail & @LF) $EMailCC = "ABW-Clearing-D019@telefonica.com" ; neue E-Mail wird angezeigt $oItem.display $oItem.BodyFormat = $olFormatHTML ;~ E-Mailtext wird wird gesucht $sBody = $oItem.HTMLBody ; die Mail wird befüllt $oItem.HTMLBody = $HTMLKDDaten & $sBody _OL_ItemRecipientAdd($oOutlook, $oItem, Default, $olTo, $EMail) ; Empfänger wird gesetzt _OL_ItemRecipientAdd($oOutlook, $oItem, Default, $olCC, $EMailCC) ; CC wird gesetzt Exit $oItem.send ; Email wird versendet Then I put in _OL_ErrorNotify(2) and get the same Error Edited September 20, 2022 by NolleWed
NolleWed Posted September 20, 2022 Posted September 20, 2022 (edited) in this testscript #include <OutlookEx.au3> _OL_ErrorNotify(2) ; Open the connection to Outlook Global $oOL = _OL_Open() ; Create a mail item and set some properties Global $oItem = _OL_ItemCreate($oOL, $olMailItem, "*\Outlook-UDF-Test\TargetFolder\Mail", "", _ "Subject=TestMail", "BodyFormat=" & $olFormatHTML, "HTMLBody=Bodytext in <b>bold</b>.", "SentOnBehalfOfName=Doe Jane") ; Add a recipient and resolve it _OL_ItemRecipientAdd($oOL, $oItem, Default, $olTo, "Doe John") $oItem.Display ; Send the mail _OL_ItemSend($oOL, $oItem) If @extended = -2147352567 Then _ MsgBox(16, "OutlookEX UDF - Example Script", "You don't have permission to send the mail on behalf of the specified person!") _OL_Close($oOL) I get this Errors in this order, each time I click ok no mail was created Edited September 20, 2022 by NolleWed
water Posted September 20, 2022 Author Posted September 20, 2022 Please add the following line after each call of a _OL_* function. So we know exactly where to search for the problem. If @error <> 0 Then Exit MsgBox(16, "OutlookEX UDF", "Error when calling function _OL_*. @error = " & @error & ", @extended = " & @extended) Please replace _OL_* with the real function you called. My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
NolleWed Posted September 20, 2022 Posted September 20, 2022 in the Include folder I found more Outlook au3. files Does the OutlookEX.au3 and OutlookEX_GUI.au3 automatically include the others or do I need to enable more in my script? This is the beginning of my script: #include <OutlookEX.au3> #include <OutlookEX_GUI.au3>
NolleWed Posted September 20, 2022 Posted September 20, 2022 7 minutes ago, water said: Please add the following line after each call of a _OL_* function. So we know exactly where to search for the problem. If @error <> 0 Then Exit MsgBox(16, "OutlookEX UDF", "Error when calling function _OL_*. @error = " & @error & ", @extended = " & @extended) Please replace _OL_* with the real function you called. You mean this way? $oOutlook= _OL_Open() If @error <> 0 Then Exit MsgBox(16, "OutlookEX UDF", "Error when calling function _OL_Open(). @error = " & @error & ", @extended = " & @extended) ; wenn Carrier nicht in Mail-Liste, dann Mail ans PF zur Prüfung, wie bei Neli-Liste ; neue E-Mail wird erstellt if $CarrierEMail = "nicht gefunden" Then $oItem = _OL_ItemCreate($oOutlook, $olMailItem, "", "", "Subject=[AutoIT:ZU PRUEFEN] #abw# weiterversorgen #kurzfristiger Storno# " & $alleNummern & " , " & $relevanteNummer & " , " & $Kundennummer_Wert, "", "SentOnBehalfOfName=ABW-Clearing-D019@telefonica.com") If @error <> 0 Then Exit MsgBox(16, "OutlookEX UDF", "Error when calling function _OL_ItemCreate. @error = " & @error & ", @extended = " & @extended) $EMail = "ABW-Clearing-D019@telefonica.com" Else $oItem = _OL_ItemCreate($oOutlook, $olMailItem, "", "", "Subject=#abw# weiterversorgen #kurzfristiger Storno# " & $alleNummern & " , " & $relevanteNummer & " , " & $Kundennummer_Wert, "", "SentOnBehalfOfName=ABW-Clearing-D019@telefonica.com") If @error <> 0 Then Exit MsgBox(16, "OutlookEX UDF", "Error when calling function _OL_ItemCreate. @error = " & @error & ", @extended = " & @extended) $EMail = $CarrierEMail EndIf ConsoleWrite($EMail & @LF) $EMailCC = "ABW-Clearing-D019@telefonica.com" ; neue E-Mail wird angezeigt $oItem.display $oItem.BodyFormat = $olFormatHTML ; E-Mailtext wird wird gesucht $sBody = $oItem.HTMLBody ; die Mail wird befüllt $oItem.HTMLBody = $HTMLKDDaten & $sBody _OL_ItemRecipientAdd($oOutlook, $oItem, Default, $olTo, $EMail) ; Empfänger wird gesetzt If @error <> 0 Then Exit MsgBox(16, "OutlookEX UDF", "Error when calling function _OL_ItemRecipientAdd. @error = " & @error & ", @extended = " & @extended) _OL_ItemRecipientAdd($oOutlook, $oItem, Default, $olCC, $EMailCC) ; CC wird gesetzt If @error <> 0 Then Exit MsgBox(16, "OutlookEX UDF", "Error when calling function _OL_ItemRecipientAdd. @error = " & @error & ", @extended = " & @extended) $oItem.send ; Email wird versendet
NolleWed Posted September 20, 2022 Posted September 20, 2022 I get the same error with the testscript #include <OutlookEx.au3> ;~ _OL_ErrorNotify(2) ; Open the connection to Outlook Global $oOL = _OL_Open() If @error <> 0 Then Exit MsgBox(16, "OutlookEX UDF", "Error when calling function _OL_Open(). @error = " & @error & ", @extended = " & @extended) ; Create a mail item and set some properties Global $oItem = _OL_ItemCreate($oOL, $olMailItem, "", "", "Subject=TestMail", "BodyFormat=" & $olFormatHTML, "HTMLBody=Bodytext in <b>bold</b>.", "SentOnBehalfOfName=Doe Jane") If @error <> 0 Then Exit MsgBox(16, "OutlookEX UDF", "Error when calling function _OL_ItemCreate. @error = " & @error & ", @extended = " & @extended) ; Add a recipient and resolve it _OL_ItemRecipientAdd($oOL, $oItem, Default, $olTo, "Doe John") If @error <> 0 Then Exit MsgBox(16, "OutlookEX UDF", "Error when calling function _OL_ItemRecipientAdd. @error = " & @error & ", @extended = " & @extended) $oItem.Display ; Send the mail _OL_ItemSend($oOL, $oItem) If @error <> 0 Then Exit MsgBox(16, "OutlookEX UDF", "Error when calling function _OL_ItemSend. @error = " & @error & ", @extended = " & @extended) If @extended = -2147352567 Then _ MsgBox(16, "OutlookEX UDF - Example Script", "You don't have permission to send the mail on behalf of the specified person!") _OL_Close($oOL) If @error <> 0 Then Exit MsgBox(16, "OutlookEX UDF", "Error when calling function _OL_Close. @error = " & @error & ", @extended = " & @extended)
water Posted September 20, 2022 Author Posted September 20, 2022 36 minutes ago, NolleWed said: or do I need to enable more in my script? No. The UDF includes the needed files automatically. My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
water Posted September 20, 2022 Author Posted September 20, 2022 38 minutes ago, NolleWed said: You mean this way? Yes. My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
water Posted September 20, 2022 Author Posted September 20, 2022 I’m not at my PC at the moment. The UDF comes with a help file. There you find the explanation for the error code. My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
NolleWed Posted September 20, 2022 Posted September 20, 2022 (edited) On 9/20/2022 at 12:03 PM, water said: I’m not at my PC at the moment. The UDF comes with a help file. There you find the explanation for the error code. cant find the explanation for the error code 300 in the help (if you mean OutlookEX.CHM) Function Reference _OL_ItemRecipientAdd Adds one or multiple recipients or reply-recipients to an item and resolves them. _OL_ItemRecipientAdd($oOL, $vItem, $sStoreID, $iType, $vP1[, $vP2 = ""[, $vP3 = ""[, $vP4 = ""[, $vP5 = ""[, $vP6 = ""[, $vP7 = ""[, $vP8 = ""[, $vP9 = ""[, $vP10 = ""[, $bAllowUnresolved = True]]]]]]]]]]) Parameters $oOL Outlook object returned by a preceding call to _OL_Open() $vItem EntryID or object of the item $sStoreID StoreID where the item is stored. Use the keyword "Default" to use the users mailbox $iType Integer representing the type of recipient. For details see Remarks $vP1 Recipient to add to the item. Either a recipient object, a single recipient name or multiple recipient names separated by ; to be resolved or a zero based one-dimensional array with unlimited number of recipients (name or object) $vP2 [optional] recipient to add to the item. Either a recipient object or the recipient name to be resolved $vP3 [optional] Same as $vP2 $vP4 [optional] Same as $vP2 $vP5 [optional] Same as $vP2 $vP6 [optional] Same as $vP2 $vP7 [optional] Same as $vP2 $vP8 [optional] Same as $vP2 $vP9 [optional] Same as $vP2 $vP10 [optional] Same as $vP2 $bAllowUnresolved [optional] True doesn't return an error even when unresolvable SMTP addresses have been found (default = True) Return Value Success: Item object Failure: Returns 0 and sets @error: 1 - No item specified 2 - Item could not be found. EntryID might be wrong 5 - $iType is missing or not a number 3nn - Error adding recipient to the item. @extended = error code returned by the Recipients.Add method, nn = number of the invalid recipient (zero based) 4nn - Recipient name could not be resolved. @extended = error code returned by the Resolve method, nn = number of the invalid recipient (zero based) Remarks $vP2 to $vP10 will be ignored if $vP1 is an array of recipients Valid $iType parameters: MailItem recipient: one of the following OlMailRecipientType constants: olBCC, olCC, olOriginator, or olTo. Set $iType to $olReplyRecipient and the passed recipients will be set as Reply-Recipients MeetingItem recipient: one of the following OlMeetingRecipientType constants: olOptional, olOrganizer, olRequired, or olResource. Set $iType to $olReplyRecipient and the passed recipients will be set as Reply-Recipients TaskItem recipient: one of the following OlTaskRecipientType constants: olFinalStatus, or olUpdate but this is from OutlookEX.au3 expandcollapse popup; #FUNCTION# ==================================================================================================================== ; Name ..........: _OL_ItemRecipientAdd ; Description ...: Adds one or multiple recipients or reply-recipients to an item and resolves them. ; Syntax.........: _OL_ItemRecipientAdd($oOL, $vItem, $sStoreID, $iType, $vP1[, $vP2 = ""[, $vP3 = ""[, $vP4 = ""[, $vP5 = ""[, $vP6 = ""[, $vP7 = ""[, $vP8 = ""[, $vP9 = ""[, $vP10 = ""[, $bAllowUnresolved = True]]]]]]]]]]) ; Parameters ....: $oOL - Outlook object returned by a preceding call to _OL_Open() ; $vItem - EntryID or object of the item ; $sStoreID - StoreID where the item is stored. Use the keyword "Default" to use the users mailbox ; $iType - Integer representing the type of recipient. For details see Remarks ; $vP1 - Recipient to add to the item. Either a recipient object, a single recipient name or multiple recipient names separated by ; to be resolved ; |or a zero based one-dimensional array with unlimited number of recipients (name or object) ; $vP2 - [optional] recipient to add to the item. Either a recipient object or the recipient name to be resolved ; $vP3 - [optional] Same as $vP2 ; $vP4 - [optional] Same as $vP2 ; $vP5 - [optional] Same as $vP2 ; $vP6 - [optional] Same as $vP2 ; $vP7 - [optional] Same as $vP2 ; $vP8 - [optional] Same as $vP2 ; $vP9 - [optional] Same as $vP2 ; $vP10 - [optional] Same as $vP2 ; $bAllowUnresolved - [optional] True doesn't return an error even when unresolvable SMTP addresses have been found (default = True) ; Return values .: Success - Item object ; Failure - Returns 0 and sets @error: ; |1 - No item specified ; |2 - Item could not be found. EntryID might be wrong ; |5 - $iType is missing or not a number ; |3nn - Error adding recipient to the item. @extended = error code returned by the Recipients.Add method, nn = number of the invalid recipient (zero based) ; |4nn - Recipient name could not be resolved. @extended = error code returned by the Resolve method, nn = number of the invalid recipient (zero based) ; Author ........: water ; Modified.......: ; Remarks .......: $vP2 to $vP10 will be ignored if $vP1 is an array of recipients ;+ ; Valid $iType parameters: ; MailItem recipient: one of the following OlMailRecipientType constants: olBCC, olCC, olOriginator, or olTo. ; Set $iType to $olReplyRecipient and the passed recipients will be set as Reply-Recipients ; MeetingItem recipient: one of the following OlMeetingRecipientType constants: olOptional, olOrganizer, olRequired, or olResource. ; Set $iType to $olReplyRecipient and the passed recipients will be set as Reply-Recipients ; TaskItem recipient: one of the following OlTaskRecipientType constants: olFinalStatus, or olUpdate ; Related .......: ; Link ..........: ; Example .......: Yes ; =============================================================================================================================== Func _OL_ItemRecipientAdd($oOL, $vItem, $sStoreID, $iType, $vP1, $vP2 = "", $vP3 = "", $vP4 = "", $vP5 = "", $vP6 = "", $vP7 = "", $vP8 = "", $vP9 = "", $vP10 = "", $bAllowUnresolved = True) If $bAllowUnresolved = Default Then $bAllowUnresolved = True Local $aRecipients[10], $oTempRecipient, $aTemp[1], $aRecipientsOut[0] If Not IsNumber($iType) Then Return SetError(5, 0, 0) If Not IsObj($vItem) Then If StringStripWS($vItem, BitOR($STR_STRIPLEADING, $STR_STRIPTRAILING)) = "" Then Return SetError(1, 0, 0) $vItem = $oOL.Session.GetItemFromID($vItem, $sStoreID) If @error Then Return SetError(2, @error, 0) EndIf ; Move members into an array If Not IsArray($vP1) Then $aRecipients[0] = $vP1 $aRecipients[1] = $vP2 $aRecipients[2] = $vP3 $aRecipients[3] = $vP4 $aRecipients[4] = $vP5 $aRecipients[5] = $vP6 $aRecipients[6] = $vP7 $aRecipients[7] = $vP8 $aRecipients[8] = $vP9 $aRecipients[9] = $vP10 Else $aRecipients = $vP1 EndIf ; If a recipient consists of multiple recipients separated by ";" then we will split it and append each single recipient to the array For $i = 0 To UBound($aRecipients, 1) - 1 ; Semicolon was found. Split the string into an array and add it at the end of the recipients array and set the current element to "" If $aRecipients[$i] <> "" Then If IsObj($aRecipients[$i]) Then ReDim $aTemp[1] $aTemp[0] = $aRecipients[$i] Else $aTemp = StringSplit($aRecipients[$i], ";", $STR_NOCOUNT) EndIf _ArrayConcatenate($aRecipientsOut, $aTemp) EndIf Next ; add recipients to the item #forceref $oTempRecipient ; To prevent the AU3Check warning : $oTempRecipient : declared, but Not used In Func. For $iIndex = 0 To UBound($aRecipientsOut) - 1 If Not IsObj($aRecipientsOut[$iIndex]) And (StringStripWS($aRecipientsOut[$iIndex], BitOR($STR_STRIPLEADING, $STR_STRIPTRAILING)) = "" Or $aRecipientsOut[$iIndex] = Default) Then ContinueLoop If $iType = $olReplyRecipient Then $iType = $olTo $oTempRecipient = $vItem.ReplyRecipients.Add($aRecipientsOut[$iIndex]) Else $oTempRecipient = $vItem.Recipients.Add($aRecipientsOut[$iIndex]) EndIf If @error Then Return SetError(300 + $iIndex, @error, 0) ; <<<<<<<<<<<<<<<<<----------------------------- $oTempRecipient.Type = $iType $oTempRecipient.Resolve If @error Or Not $oTempRecipient.Resolved Then If Not (StringInStr($aRecipientsOut[$iIndex], "@")) Or Not ($bAllowUnresolved) Then $oTempRecipient.Delete ; Remove unresolved/recipient in error Return SetError(400 + $iIndex, @error, 0) EndIf EndIf Next $vItem.Save() Return $vItem EndFunc ;==>_OL_ItemRecipientAdd I also try the scripts on the WIN 8 PC with the other office version and everthing works fine. testscript my script Edited September 22, 2022 by NolleWed
water Posted September 20, 2022 Author Posted September 20, 2022 Guess which of this error codes covers @error = 300? seadoggie01 1 My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
NolleWed Posted September 22, 2022 Posted September 22, 2022 (edited) On 9/20/2022 at 8:46 PM, water said: Guess which of this error codes covers @error = 300? 3nn - Error adding recipient to the item. @extended = error code returned by the Recipients.Add method, nn = number of the invalid recipient (zero based) And how can I solve the problem? For the other Outlook version it works and I don´t know whats the difference and what I have to change Edited September 22, 2022 by NolleWed
water Posted September 22, 2022 Author Posted September 22, 2022 Activate _OL_ErrorNotify(2) and check if you get a more detailed debug info My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
NolleWed Posted September 23, 2022 Posted September 23, 2022 16 hours ago, water said: Activate _OL_ErrorNotify(2) and check if you get a more detailed debug info see Tuesday at 09:28 AM, here I posted all windows from _OL_ErrorNotify(2)
NolleWed Posted September 23, 2022 Posted September 23, 2022 Today I tried the solutions on this website: Known issues with Microsoft Office automation. - AutoIt Wiki (autoitscript.com) points: Windows Registry + In Outlook 2016 But I get the same error. I think it has some to do with the field "Recipient" (to, cc, bcc) and "SentOnBehalfOf". I think in Office365 (Outlook 2016 App) the script do not find this fields. Can this be the error? _OL_ErrorNotify(2) $oOutlook= _OL_Open() If @error <> 0 Then Exit MsgBox(16, "OutlookEX UDF", "Error when calling function _OL_Open(). @error = " & @error & ", @extended = " & @extended) ; wenn Carrier nicht in Mail-Liste, dann Mail ans PF zur Prüfung, wie bei Neli-Liste ; neue E-Mail wird erstellt if $CarrierEMail = "nicht gefunden" Then $oItem = _OL_ItemCreate($oOutlook, $olMailItem, "", "", "Subject=[AutoIT:ZU PRUEFEN] #abw# weiterversorgen #kurzfristiger Storno# " & $alleNummern & " , " & $relevanteNummer & " , " & $Kundennummer_Wert, "", "SentOnBehalfOfName=ABW-Clearing-D019@telefonica.com") If @error <> 0 Then Exit MsgBox(16, "OutlookEX UDF", "Error when calling function _OL_ItemCreate. @error = " & @error & ", @extended = " & @extended) $EMail = "ABW-Clearing-D019@telefonica.com" Else $oItem = _OL_ItemCreate($oOutlook, $olMailItem, "", "", "Subject=#abw# weiterversorgen #kurzfristiger Storno# " & $alleNummern & " , " & $relevanteNummer & " , " & $Kundennummer_Wert, "", "SentOnBehalfOfName=ABW-Clearing-D019@telefonica.com") If @error <> 0 Then Exit MsgBox(16, "OutlookEX UDF", "Error when calling function _OL_ItemCreate. @error = " & @error & ", @extended = " & @extended) $EMail = $CarrierEMail EndIf ConsoleWrite($EMail & @LF) $EMailCC = "ABW-Clearing-D019@telefonica.com" ; neue E-Mail wird angezeigt $oItem.display $oItem.BodyFormat = $olFormatHTML ; E-Mailtext wird wird gesucht $sBody = $oItem.HTMLBody ; die Mail wird befüllt $oItem.HTMLBody = $HTMLKDDaten & $sBody _OL_ItemRecipientAdd($oOutlook, $oItem, Default, $olTo, $EMail) ; Empfänger wird gesetzt If @error <> 0 Then Exit MsgBox(16, "OutlookEX UDF", "Error when calling function _OL_ItemRecipientAdd. @error = " & @error & ", @extended = " & @extended) _OL_ItemRecipientAdd($oOutlook, $oItem, Default, $olCC, $EMailCC) ; CC wird gesetzt If @error <> 0 Then Exit MsgBox(16, "OutlookEX UDF", "Error when calling function _OL_ItemRecipientAdd. @error = " & @error & ", @extended = " & @extended) $oItem.send ; Email wird versendet I wrote an email manually with "Recipient" (to) = myself and "SentOnBehalfOf" =ABW-Clearing-D019@telefonica.com and then search for the header and HTML code. I don´t know if this helps to find the problem: expandcollapse popupReceived: from DBAPR06MB6886.eurprd06.prod.outlook.com (2603:10a6:10:1a3::6) by AM0PR06MB5172.eurprd06.prod.outlook.com with HTTPS; Fri, 23 Sep 2022 11:25:29 +0000 Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=telefonica.com; Received: from AS8PR06MB7398.eurprd06.prod.outlook.com (2603:10a6:20b:319::14) by DBAPR06MB6886.eurprd06.prod.outlook.com (2603:10a6:10:1a3::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5632.21; Fri, 23 Sep 2022 11:25:28 +0000 Received: from AS8PR06MB7398.eurprd06.prod.outlook.com ([fe80::c069:2320:d3b2:e50f]) by AS8PR06MB7398.eurprd06.prod.outlook.com ([fe80::c069:2320:d3b2:e50f%5]) with mapi id 15.20.5654.020; Fri, 23 Sep 2022 11:25:28 +0000 Content-Type: application/ms-tnef; name="winmail.dat" Content-Transfer-Encoding: binary From: ABW-Clearing-D019 <ABW-Clearing-D019@telefonica.com> To: Nxxx Wxxx <nxxx.wxxx@telefonica.com> Subject: #abw# weiterversorgen #kurzfristiger Storno# 1234 , VAID.Test , S-5555 Thread-Topic: #abw# weiterversorgen #kurzfristiger Storno# 1234 , VAID.Test , S-5555 Thread-Index: AdjPPwqnPlQirXWbS9azB0Spv0flww== Date: Fri, 23 Sep 2022 11:25:28 +0000 Message-ID: <AS8PR06MB73980F8FF9F81DA85932268790519@AS8PR06MB7398.eurprd06.prod.outlook.com> Accept-Language: en-US Content-Language: de-DE X-MS-Has-Attach: X-MS-Exchange-Organization-SCL: -1 X-MS-TNEF-Correlator: <AS8PR06MB73980F8FF9F81DA85932268790519@AS8PR06MB7398.eurprd06.prod.outlook.com> MIME-Version: 1.0 X-MS-Exchange-Organization-MessageDirectionality: Originating X-MS-Exchange-Organization-AuthSource: AS8PR06MB7398.eurprd06.prod.outlook.com X-MS-Exchange-Organization-AuthAs: Internal X-MS-Exchange-Organization-AuthMechanism: 04 X-MS-Exchange-Organization-Network-Message-Id: a80b068a-b122-4c87-04c5-08da9d565162 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR06MB7398:EE_|DBAPR06MB6886:EE_ Return-Path: ABW-Clearing-D019@telefonica.com X-MS-Exchange-Organization-ExpirationStartTime: 23 Sep 2022 11:25:28.6702 (UTC) X-MS-Exchange-Organization-ExpirationStartTimeReason: OriginalSubmit X-MS-Exchange-Organization-ExpirationInterval: 1:00:00:00.0000000 X-MS-Exchange-Organization-ExpirationIntervalReason: OriginalSubmit X-MS-Office365-Filtering-Correlation-Id: a80b068a-b122-4c87-04c5-08da9d565162 X-Microsoft-Antispam: BCL:0; X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:de;SCL:-1;SRV:;IPV:NLI;SFV:SKI;H:AS8PR06MB7398.eurprd06.prod.outlook.com;PTR:;CAT:NONE;SFS:;DIR:INB; X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2022 11:25:28.4160 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 9744600e-3e04-492e-baa1-25ec245c6f10 X-MS-Exchange-CrossTenant-AuthSource: AS8PR06MB7398.eurprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-Network-Message-Id: a80b068a-b122-4c87-04c5-08da9d565162 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: gOSCLeUU8n8jAmJ+AEpuMPTZH2ylYc1RhpAU+GVVcPwxSj78sbibwCFC+JkMj3/J1ckeDUR1dNcnuCsBrswI69PTqbyDYuXxqFfOHbMy7C8F/s0AfKjTtUrvajVtxmAK X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR06MB6886 X-MS-Exchange-Transport-EndToEndLatency: 00:00:00.9430412 X-MS-Exchange-Processed-By-BccFoldering: 15.20.5632.021 X-Microsoft-Antispam-Mailbox-Delivery: ucf:0;jmr:0;auth:0;dest:I;ENG:(910001)(944506478)(944626604)(920097)(425001)(930097); X-Microsoft-Antispam-Message-Info: Ap3vIf0dW0PWJ6T3F5ehnFjYjXWIOZenEmK8Rw8fJvndnmBXB4234jO+D0plZjXmZ+EfaOkTgJ3VtzaX2hwk5eN7xMSwkM2ihhIiOBIVUIxpWJOr9F2MjgfbXtH2JdcWDkRt8zyyWCdLzwPGLPgLx2g2alcHFVEJYPOnmfHMusolnfnpg0Bt6rtN1vQh0LSyKfrh37UWoi6W5GM8MHN/xULfnhvvI3/xuBGpUFWyK5aI2b0PpEvcjasFMcDsvcGgvnpmDfiaXfCuICB2ZEFCp00CjYirRofVvWhBOMpiPk3cnOafqPbasRNgbSLgwq4MbuImXduzdG0nE2Y8Bbs6aPP0h+4l1v8KXekjuAlWpX3JhhWePrRqZ2dBVWCDYOfW6nyLNzrOzGR9cZydmXe3hhukk2GFdNfGmt0sKeEkOkBXuWag5UQz7BeuXFtdhSVvoQnaHHyp+jmC91+XrhLQ0NFDGUEwV0TMFy6OQ1/pb33MFbxG3VAT7OkxwushSRZX8C7m7q/RUh0PUrNupERgkg== I'm getting really desperate 😌
water Posted September 23, 2022 Author Posted September 23, 2022 (edited) 9 hours ago, NolleWed said: Today I tried the solutions on this website: Known issues with Microsoft Office automation. - AutoIt Wiki (autoitscript.com) That's about TNEF. This has nothing to do with your problem. When searching the web for the 0x80004004 error code I got a few ideas: Do you run the 64 bit version of Office? If yes, please run the script as 64 bit as well. Can you please deactivate all Outlook addons and run your script again? Can you hava a look at this site and check the "Programmatic Access Security". Another post to check. The same error has already been discussed in 2019. Edited September 23, 2022 by water My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now