Problem mit _INetSmtpMailCom

  • Hallo,

    ich nutze diese UDF:

    Spoiler anzeigen
    [autoit]

    Func _INetSmtpMailCom($sSmtpServer, $sFromName, $sFromAddress, $sToAddress, $sSubject = "", $sBody = "", $sAttachFiles = "", $sCcAddress = "", $sBccAddress = "", $sImportance = "Normal", $sUsername = "", $sPassword = "", $iPort = 25, $xSSL = False)
    $objEmail = ObjCreate("CDO.Message")
    $objEmail.From = '"' & $sFromName & '" <' & $sFromAddress & ">"
    $objEmail.To = $sToAddress
    If $sCcAddress <> "" Then $objEmail.Cc = $sCcAddress
    If $sBccAddress <> "" Then $objEmail.Bcc = $sBccAddress
    $objEmail.Subject = $sSubject
    If StringInStr($sBody, "<") and StringInStr($sBody, ">") Then
    $objEmail.HTMLBody = $sBody
    Else
    $objEmail.Textbody = $sBody & @CRLF
    EndIf
    If $sAttachFiles <> "" Then
    Local $aSS = StringSplit($sAttachFiles, ";")
    For $i = 1 To $aSS[0]
    $aSS[$i] = _PathFull($aSS[$i])
    If FileExists($aSS[$i]) Then
    $objEmail.AddAttachment($aSS[$i])
    Else
    ConsoleWrite("!> File not found to attach: " & $aSS[$i] & @LF)
    Return SetError(1)
    EndIf
    Next
    EndIf
    $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = $sSmtpServer
    If Number($iPort) = 0 Then $iPort = 25
    $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = $iPort
    ; Authenticated SMTP
    If $sUsername <> "" Then
    $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
    $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = $sUsername
    $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = $sPassword
    EndIf
    If $xSSL Then
    $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
    EndIf
    ; Set Email Importance
    Switch $sImportance
    Case "High"
    $objEmail.Fields.Item ("urn:schemas:mailheader:Importance") = "High"
    Case "Normal"
    $objEmail.Fields.Item ("urn:schemas:mailheader:Importance") = "Normal"
    Case "Low"
    $objEmail.Fields.Item ("urn:schemas:mailheader:Importance") = "Low"
    EndSwitch
    ; Update settings
    $objEmail.Configuration.Fields.Update
    ; Sent the Message
    $objEmail.Send
    $objEmail = ""
    If @error Then Return SetError(2, 0, $oMyRet[1])
    Return 1
    EndFunc ;==>_INetSmtpMailCom

    [/autoit]


    Ich schaffe es aber einfach nicht die Priorität zu setzen mit "urn:schemas:mailheader:Importance". Hab schon viele Sachen probiert auch mit "urn:schemas:httpmail:Importance" und "urn:schemas:httpmail:priority". Aber mein Thunderbird zeigt mir keine Priorität an.

    Einmal editiert, zuletzt von m-obi (9. Juni 2012 um 16:05)

  • Aaahh ich habs jetzt, perfekt.

    [autoit]

    Switch $sImportance
    Case "very high", "sehr hoch"
    $objEmail.Fields.Item("urn:schemas:mailheader:X-Priority") = 1
    Case "high", "hoch"
    $objEmail.Fields.Item("urn:schemas:mailheader:Importance") = "high"
    $objEmail.Fields.Item("urn:schemas:httpmail:priority") = 1
    $objEmail.Fields.Item("urn:schemas:mailheader:X-Priority") = 2
    Case "normal", "medium"
    $objEmail.Fields.Item("urn:schemas:mailheader:Importance") = "normal"
    $objEmail.Fields.Item("urn:schemas:httpmail:priority") = 0
    $objEmail.Fields.Item("urn:schemas:mailheader:X-Priority") = 3
    Case "low", "niedrig"
    $objEmail.Fields.Item("urn:schemas:mailheader:Importance") = "low"
    $objEmail.Fields.Item("urn:schemas:httpmail:priority") = -1
    $objEmail.Fields.Item("urn:schemas:mailheader:X-Priority") = 4
    Case "very low", "sehr niedrig"
    $objEmail.Fields.Item("urn:schemas:mailheader:X-Priority") = 5
    EndSwitch
    ; Update importance
    $objEmail.Fields.Update

    [/autoit]