Jump to content

Recommended Posts

Posted

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

 

Posted (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 by NolleWed
Posted (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

image.png.c6ba0b7c6d2fb0d00512b65a3a0269ce.png

 

Edited by NolleWed
Posted (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 

image.png

Edited by NolleWed
Posted (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

image.png.f3057c4b9c3146d6a22a82157a4c1271.png

image.png.d18c11bf8c729a104b64df048fe23412.png

image.png.4dfa5359949397fb39d2aa56ac9c73b9.png

image.png.7d40620731b5e8abfab5f36882add320.png

 

image.png.ee92c763dcee30f212c3bd2e8208bd7d.png

 

no mail was created

Edited by NolleWed
Posted

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

 

Posted

in the Include folder I found more Outlook au3. files

image.png.7771534ca79e6accf734e8c02e54a38a.png

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>

 

Posted
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

 

Posted

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)

image.png.f0ecbe6b416a47b4ac36992c9f7ad652.png

 

image.png.4dd04a6e2835b1ba32c979d0e4d92b0c.png

Posted
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

 

Posted
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

 

Posted

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

 

Posted (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

; #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.
;                  &nbsp;&nbsp; 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.
;                  &nbsp; 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

image.png.7e9cae7bd75aed033626c6f26177ee08.png

my script

image.png.ea0e773bd8af29ce478b6782afa97a55.png

 

Edited by NolleWed
Posted

Guess which of this error codes covers @error = 300?image.thumb.png.c7007593596c4bcde32a93392ad562b8.png 

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

 

Posted (edited)
On 9/20/2022 at 8:46 PM, water said:

Guess which of this error codes covers @error = 300?image.thumb.png.c7007593596c4bcde32a93392ad562b8.png 

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 by NolleWed
Posted

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

 

Posted

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

 

image.png.31b930f5f42263f869711462f01f1d75.png

image.png.93c0c644dc617546b59cde5febb928c3.png

image.png.6c83d4699b58ba5e441a97b42618e8b0.png

 

image.png.23e37497876fa00e1130268c5857282c.png

 

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:

 

image.png.d8957c3f91c50169cbc4bf5735fe2642.png

Received: 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 😌

Posted (edited)
9 hours ago, NolleWed said:

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 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

 

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...