_INetSmtpMailCom Anmeldung wird nicht ausgehfühert.

  • Hallo, ich habe hier eine Funktion die Emails mit Anhang und Dringlichkeiten Verschicken kann.

    Sie sollte auch Authentivizierung können, nur leider scheint das keine erfolg zu haben.
    Könnt Ihr mit weiter helfen warum das nicht geht?

    Spoiler anzeigen
    [autoit]

    Func _INetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject = "", $as_Body = "", $s_AttachFiles = "", $s_CcAddress = "", $s_BccAddress = "", $s_Importance = "Normal", $s_Username = "", $s_Password = "", $IPPort = 25, $ssl = 0)
    Local $objEmail = ObjCreate("CDO.Message")
    Local const $sEmailSchema = "http://schemas.microsoft.com/cdo/configuration/"
    With $objEmail
    .From = '"' & $s_FromName & '" <' & $s_FromAddress & '>'
    .To = $s_ToAddress
    Local $i_Error = 0
    Local $i_Error_desciption = ""
    If $s_CcAddress <> "" Then .Cc = $s_CcAddress
    If $s_BccAddress <> "" Then .Bcc = $s_BccAddress
    .Subject = $s_Subject
    If StringInStr($as_Body, "<") And StringInStr($as_Body, ">") Then
    .HTMLBody = $as_Body
    Else
    .Textbody = $as_Body & @CRLF
    EndIf
    If $s_AttachFiles <> "" Then
    Local $S_Files2Attach = StringSplit($s_AttachFiles, ";")
    For $x = 1 To $S_Files2Attach[0]
    $S_Files2Attach[$x] = _PathFull($S_Files2Attach[$x])
    ;~ ConsoleWrite('@@ Debug : $S_Files2Attach[$x] = ' & $S_Files2Attach[$x] & @LF & '>Error code: ' & @error & @LF) ;### Debug Console
    If FileExists($S_Files2Attach[$x]) Then
    ;ConsoleWrite('+> File attachment added: ' & $S_Files2Attach[$x] & @LF)
    .AddAttachment($S_Files2Attach[$x])
    Else
    ConsoleWrite('!> File not found to attach: ' & $S_Files2Attach[$x] & @LF)
    Return SetError(1, 0, 0)
    EndIf
    Next
    EndIf
    EndWith
    With $objEmail.Configuration.Fields
    .Item($sEmailSchema & "sendusing") = 2
    .Item($sEmailSchema & "smtpserver") = $s_SmtpServer
    If Number($IPPort) = 0 Then $IPPort = 25
    .Item($sEmailSchema & "smtpserverport") = $IPPort
    ;Authenticated SMTP
    If $s_Username <> "" Then
    .Item($sEmailSchema & "smtpauthenticate") = 1
    .Item($sEmailSchema & "sendusername") = $s_Username
    .Item($sEmailSchema & "sendpassword") = $s_Password
    Else
    .Item($sEmailSchema & "smtpauthenticate") = 0
    EndIf
    If $ssl Then
    .Item($sEmailSchema & "smtpusessl") = True
    Else
    .Item($sEmailSchema & "smtpusessl") = False
    EndIf
    ;Update settings
    .Update
    EndWith
    With $objEmail.Fields
    ; Set Email Importance
    If $s_Importance = "" Then
    .Item("urn:schemas:mailheader:Importance") = "Normal"
    Else
    .Item("urn:schemas:mailheader:Importance") = $s_Importance
    EndIf
    .Update
    EndWith
    ; Sent the Message
    $objEmail.Send
    If @error Then
    Return SetError(2, @error, 0)
    EndIf
    $objEmail = ""
    Return 1
    EndFunc ;==>_INetSmtpMailCom

    [/autoit]

    Danke