_INetSmtpMail und lange texte?

  • hi!

    wie schaff ich es, per _inetsmtpmail

    [autoit]

    #include <INet.au3>

    [/autoit][autoit][/autoit][autoit]

    $s_SmtpServer = "mysmtpserver.com.au"
    $s_FromName = "My Name"
    $s_FromAddress = "From eMail Address"
    $s_ToAddress = "To eMail Address"
    $s_Subject = "My Test UDF"
    Dim $as_Body[2]
    $as_Body[0] = "Testing the new email udf"
    $as_Body[1] = "Second Line"
    $Response = _INetSmtpMail ($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject, $as_Body)
    $err = @error
    If $Response = 1 Then
    MsgBox(0, "Success!", "Mail sent")
    Else
    MsgBox(0, "Error!", "Mail failed with error code " & $err)
    EndIf

    [/autoit]


    einen text ($log_text...der inhalt einer log...also haufenweise zeichen und zeilenumbrüche) zu verschicken?

    mfg

  • Du hast 2 Möglichkeiten, beide mit StringSplit:
    Stable: Die UDF _StringSplit an @CRLF, mit Flag 1 ( nur die UDF mach es 0-basiert, die normale Funktion mit Zähler in Array[0]
    neueste Beta: StringSplit mit Flag 1+2 ( 1 = alle splitzeichen als 1 Split, 2 = 0-basiertes array)

    Direktes _FileReadToArray hat eben auch den Zähler in Position 0

  • Willst du den kompletten Inhalt der Log-Datei verschicken?
    Also dann schließ ich mich meinen Vorpostern an.
    Du könntest aber auch Zeile für Zeile auslesen und in dein Body-Array packen.
    Vllt macht auch genau das _FileReadToArray :) weiß ich leider nich so genau.

    Zitat

    einen text ($log_text...der inhalt einer log...also haufenweise zeichen und zeilenumbrüche) zu verschicken?


    Wie viel Zeichen sind den mit haufenweise Zeichen gemeint?
    Bei AutoIt beträgt die Maximale Länge eines Strings: 2.147.483.647 Zeichen
    wenn du mehr hast musst du zwangsläufig irgendwie splitten.

    Gruß
    Ben