Aktuelle Zeit: 18.10.2019 00:46

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 94 Beiträge ]  Gehe zu Seite 1, 2, 3, 4, 5 ... 10  Nächste
Autor Nachricht
 Betreff des Beitrags: PB.Ex Mail (Windows)
BeitragVerfasst: 29.04.2019 22:52 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Deutschland::Berlin()
Hallo,

mit dieser Bibliothek kann man einen eigenen E-Mail-Client entwickeln und E-Mails per IMAP und POP3 herunterladen. SSL und TLS werden unterstützt.

Funktionen:
  • OpenMailEx()
    • Syntax:
      Code:
      Result = OpenMailEx(ID, Protocol, MailServer$, Port, UserName$, Password$, SSL, @ErrorOutput$)

    • Beschreibung: Stellt eine Verbindung zum Mailserver her.
    • Parameter:
      1. ID: Eine eindeutige Nummer. #PB_Any kann verwendet werden, um die Nummer automatisch zu generieren.
      2. Protocol: Eine der folgenden Protokolle kann verwendet werden:
        • #PBEx_Mail_Protocol_IMAP
        • #PBEx_Mail_Protocol_POP3: Hinweis: Bitte benutzen Sie dieses Protokoll derzeit nur für Testzwecken. Dieses Protokoll ist veraltet und wird nicht mehr weiterentwickelt.
        • #PBEx_Mail_Protocol_SMTP: Nur gültig für SendMailEx() und SendMailFileEx().
      3. MailServer$: Die Adresse zum Mailserver
      4. Port: Port-Nummer
      5. UserName$: Benutzername oder E-Mail-Adresse für die Anmeldung.
      6. Password$: Passwort für die Anmeldung.
      7. SSL: Wenn 1, dann wird eine verschlüsselte Verbindung hergestellt.
      8. @ErrorOutput$: Falls ein Fehler auftrat, dann wird die Fehlermeldung in die Variable gespeichert. Diese Variable muss vor dem Übergeben mit 128 Zeichen reserviert werden. Maximale Länge der Rückgabe beträgt 128 Zeichen einschließlich des NULL-Zeichens. Wenn bei einem Fehler keine Fehlerbeschreibung zurückgegeben werden soll, dann kann stattdessen 0 übergeben werden.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich. Falls #PB_Any verwendet wird, dann wird die ID zurückgegeben.
    • Beispielcode:
      Code:
      ;Version: 1.1.3.0

      EnableExplicit

      Global PBEx_Mail

      #PBEx_Mail_Version$ = "1.1.3.0"
      #PBEx_Mail_Protocol_IMAP = 0
      #PBEx_Mail_Protocol_POP3 = 1
      #PBEx_Mail_Priority_Normal = 0
      #PBEx_Mail_Priority_Low = 1
      #PBEx_Mail_Priority_High = 2
      #PBEx_Mail_Event_NewMail = 0
      #PBEx_Mail_Attribute_Unseen = 0
      #PBEx_Mail_Attribute_Seen = 32
      #PBEx_Mail_SeenType_AllMails = 0
      #PBEx_Mail_SeenType_OnlySeenMails = 1
      #PBEx_Mail_SeenType_OnlyUnseenMails = 2
      #PBEx_Mail_FetchType_AllData = 0
      #PBEx_Mail_FetchType_OnlyHeaderData = 1

      CompilerIf #PB_Compiler_Processor = #PB_Processor_x86
        PBEx_Mail = OpenLibrary(#PB_Any, "PB.Ex_Mail_x86.dll")
      CompilerElseIf #PB_Compiler_Processor = #PB_Processor_x64
        PBEx_Mail = OpenLibrary(#PB_Any, "PB.Ex_Mail_x64.dll")
      CompilerEndIf

      If PBEx_Mail
        Prototype OpenMailEx(ID, Protocol, MailServer.p-Unicode, Port, UserName.p-Unicode, Password.p-Unicode, SSL, ErrorOutput)
        Global OpenMailEx.OpenMailEx = GetFunction(PBEx_Mail, "OpenMailEx")
        Prototype CloseMailEx(ID, ErrorOutput)
        Global CloseMailEx.CloseMailEx = GetFunction(PBEx_Mail, "CloseMailEx")
        Prototype ExamineMailDirectoryEx(ID, ErrorOutput)
        Global ExamineMailDirectoryEx.ExamineMailDirectoryEx = GetFunction(PBEx_Mail, "ExamineMailDirectoryEx")
        Prototype MailDirectoryEntryNameEx(ID, Output, ErrorOutput)
        Global MailDirectoryEntryNameEx.MailDirectoryEntryNameEx = GetFunction(PBEx_Mail, "MailDirectoryEntryNameEx")
        Prototype ExamineMailEx(ID, SeenType, FetchType, SortByNew, ErrorOutput)
        Global ExamineMailEx.ExamineMailEx = GetFunction(PBEx_Mail, "ExamineMailEx")
        Prototype MailEntrySubjectEx(ID, Output, ErrorOutput)
        Global MailEntrySubjectEx.MailEntrySubjectEx = GetFunction(PBEx_Mail, "MailEntrySubjectEx")
        Prototype MailEntryBodyEx(ID, Output, ErrorOutput)
        Global MailEntryBodyEx.MailEntryBodyEx = GetFunction(PBEx_Mail, "MailEntryBodyEx")
        Prototype MailEntryFromEx(ID, Output, ErrorOutput)
        Global MailEntryFromEx.MailEntryFromEx = GetFunction(PBEx_Mail, "MailEntryFromEx")
        Prototype MailEntryToEx(ID, Output, ErrorOutput)
        Global MailEntryToEx.MailEntryToEx = GetFunction(PBEx_Mail, "MailEntryToEx")
        Prototype MailEntryCCEx(ID, Output, ErrorOutput)
        Global MailEntryCCEx.MailEntryCCEx = GetFunction(PBEx_Mail, "MailEntryCCEx")
        Prototype MailEntryBCCEx(ID, Output, ErrorOutput)
        Global MailEntryBCCEx.MailEntryBCCEx = GetFunction(PBEx_Mail, "MailEntryBCCEx")
        Prototype MailEntryDateEx(ID, ErrorOutput)
        Global MailEntryDateEx.MailEntryDateEx = GetFunction(PBEx_Mail, "MailEntryDateEx")
        Prototype MailEntryPriorityEx(ID, ErrorOutput)
        Global MailEntryPriorityEx.MailEntryPriorityEx = GetFunction(PBEx_Mail, "MailEntryPriorityEx")
        Prototype FinishMailDirectoryEx(ID, ErrorOutput)
        Global FinishMailDirectoryEx.FinishMailDirectoryEx = GetFunction(PBEx_Mail, "FinishMailDirectoryEx")
        Prototype FinishMailEx(ID, ErrorOutput)
        Global FinishMailEx.FinishMailEx = GetFunction(PBEx_Mail, "FinishMailEx")
        Prototype IsMailEx(ID, ErrorOutput)
        Global IsMailEx.IsMailEx = GetFunction(PBEx_Mail, "IsMailEx")
        Prototype NextMailDirectoryEntryEx(ID, ErrorOutput)
        Global NextMailDirectoryEntryEx.NextMailDirectoryEntryEx = GetFunction(PBEx_Mail, "NextMailDirectoryEntryEx")
        Prototype NextMailEntryEx(ID, ErrorOutput)
        Global NextMailEntryEx.NextMailEntryEx = GetFunction(PBEx_Mail, "NextMailEntryEx")
        Prototype SetMailDirectoryEx(ID, DirectoryPath.p-Unicode, ErrorOutput)
        Global SetMailDirectoryEx.SetMailDirectoryEx = GetFunction(PBEx_Mail, "SetMailDirectoryEx")
        Prototype CreateMailDirectoryEx(ID, DirectoryName.p-Unicode, ErrorOutput)
        Global CreateMailDirectoryEx.CreateMailDirectoryEx = GetFunction(PBEx_Mail, "CreateMailDirectoryEx")
        Prototype RenameMailDirectoryEx(ID, OldDirectoryName.p-Unicode, NewDirectoryName.p-Unicode, ErrorOutput)
        Global RenameMailDirectoryEx.RenameMailDirectoryEx = GetFunction(PBEx_Mail, "RenameMailDirectoryEx")
        Prototype DeleteMailDirectoryEx(ID, DirectoryPath.p-Unicode, ErrorOutput)
        Global DeleteMailDirectoryEx.DeleteMailDirectoryEx = GetFunction(PBEx_Mail, "DeleteMailDirectoryEx")
        Prototype CreateMailEx(ID, Directory.p-Unicode, Subject.p-Unicode, Body.p-Unicode, Priority, From.p-Unicode, ToAddress.p-Unicode, CC.p-Unicode, BCC.p-Unicode, Attachments.p-Unicode, ErrorOutput)
        Global CreateMailEx.CreateMailEx = GetFunction(PBEx_Mail, "CreateMailEx")
        Prototype BindMailEventEx(ID, Event, PBProcedureHandle, PID, ErrorOutput)
        Global BindMailEventEx.BindMailEventEx = GetFunction(PBEx_Mail, "BindMailEventEx")
        Prototype GetMailSubjectEx(ID, MailID, DirectoryPath.p-Unicode, Output, ErrorOutput)
        Global GetMailSubjectEx.GetMailSubjectEx = GetFunction(PBEx_Mail, "GetMailSubjectEx")
        Prototype GetMailBodyEx(ID, MailID, DirectoryPath.p-Unicode, Output, ErrorOutput)
        Global GetMailBodyEx.GetMailBodyEx = GetFunction(PBEx_Mail, "GetMailBodyEx")
        Prototype GetMailFromEx(ID, MailID, DirectoryPath.p-Unicode, Output, ErrorOutput)
        Global GetMailFromEx.GetMailFromEx = GetFunction(PBEx_Mail, "GetMailFromEx")
        Prototype GetMailToEx(ID, MailID, DirectoryPath.p-Unicode, Output, ErrorOutput)
        Global GetMailToEx.GetMailToEx = GetFunction(PBEx_Mail, "GetMailToEx")
        Prototype GetMailCCEx(ID, MailID, DirectoryPath.p-Unicode, Output, ErrorOutput)
        Global GetMailCCEx.GetMailCCEx = GetFunction(PBEx_Mail, "GetMailCCEx")
        Prototype GetMailBCCEx(ID, MailID, DirectoryPath.p-Unicode, Output, ErrorOutput)
        Global GetMailBCCEx.GetMailBCCEx = GetFunction(PBEx_Mail, "GetMailBCCEx")
        Prototype GetMailDateEx(ID, MailID, DirectoryPath.p-Unicode, ErrorOutput)
        Global GetMailDateEx.GetMailDateEx = GetFunction(PBEx_Mail, "GetMailDateEx")
        Prototype GetMailPriorityEx(ID, MailID, DirectoryPath.p-Unicode, ErrorOutput)
        Global GetMailPriorityEx.GetMailPriorityEx = GetFunction(PBEx_Mail, "GetMailPriorityEx")
        Prototype MailEntryBodySizeEx(ID, ErrorOutput)
        Global MailEntryBodySizeEx.MailEntryBodySizeEx = GetFunction(PBEx_Mail, "MailEntryBodySizeEx")
        Prototype MailIDEx(ID, ErrorOutput)
        Global MailIDEx.MailIDEx = GetFunction(PBEx_Mail, "MailIDEx")
        Prototype SetMailSubjectEx(ID, MailID, Directory.p-Unicode, Text.p-Unicode, ErrorOutput)
        Global SetMailSubjectEx.SetMailSubjectEx = GetFunction(PBEx_Mail, "SetMailSubjectEx")
        Prototype SetMailBodyEx(ID, MailID, Directory.p-Unicode, Text.p-Unicode, ErrorOutput)
        Global SetMailBodyEx.SetMailBodyEx = GetFunction(PBEx_Mail, "SetMailBodyEx")
        Prototype SetMailFromEx(ID, MailID, Directory.p-Unicode, Text.p-Unicode, ErrorOutput)
        Global SetMailFromEx.SetMailFromEx = GetFunction(PBEx_Mail, "SetMailFromEx")
        Prototype SetMailToEx(ID, MailID, Directory.p-Unicode, Text.p-Unicode, ErrorOutput)
        Global SetMailToEx.SetMailToEx = GetFunction(PBEx_Mail, "SetMailToEx")
        Prototype SetMailCCEx(ID, MailID, Directory.p-Unicode, Text.p-Unicode, ErrorOutput)
        Global SetMailCCEx.SetMailCCEx = GetFunction(PBEx_Mail, "SetMailCCEx")
        Prototype SetMailBCCEx(ID, MailID, Directory.p-Unicode, Text.p-Unicode, ErrorOutput)
        Global SetMailBCCEx.SetMailBCCEx = GetFunction(PBEx_Mail, "SetMailBCCEx")
        Prototype SetMailPriorityEx(ID, MailID, Directory.p-Unicode, Priority, ErrorOutput)
        Global SetMailPriorityEx.SetMailPriorityEx = GetFunction(PBEx_Mail, "SetMailPriorityEx")
        Prototype DeleteMailEx(ID, MailID, Directory.p-Unicode, ErrorOutput)
        Global DeleteMailEx.DeleteMailEx = GetFunction(PBEx_Mail, "DeleteMailEx")
        Prototype MoveMailEx(ID, MailID, Directory.p-Unicode, TargetDirectory.p-Unicode, ErrorOutput)
        Global MoveMailEx.MoveMailEx = GetFunction(PBEx_Mail, "MoveMailEx")
        Prototype CountMailEx(ID, Directory.p-Unicode, ErrorOutput)
        Global CountMailEx.CountMailEx = GetFunction(PBEx_Mail, "CountMailEx")
        Prototype CountMailDirectoryEx(ID, ErrorOutput)
        Global CountMailDirectoryEx.CountMailDirectoryEx = GetFunction(PBEx_Mail, "CountMailDirectoryEx")
        Prototype SendMailEx(ID, Subject.p-Unicode, Body.p-Unicode, Priority, From.p-Unicode, ToAddress.p-Unicode, CC.p-Unicode, BCC.p-Unicode, Attachments.p-Unicode, ErrorOutput)
        Global SendMailEx.SendMailEx = GetFunction(PBEx_Mail, "SendMailEx")
        Prototype SaveMailEx(ID, MailID, Directory.p-Unicode, Path.p-Unicode, ErrorOutput)
        Global SaveMailEx.SaveMailEx = GetFunction(PBEx_Mail, "SaveMailEx")
        Prototype GetMailHeaderEx(ID, MailID, Directory.p-Unicode, Output, ErrorOutput)
        Global GetMailHeaderEx.GetMailHeaderEx = GetFunction(PBEx_Mail, "GetMailHeaderEx")
        Prototype MailEntryHeaderEx(ID, Output, ErrorOutput)
        Global MailEntryHeaderEx.MailEntryHeaderEx = GetFunction(PBEx_Mail, "MailEntryHeaderEx")
        Prototype LoadMailEx(ID, Path.p-Unicode, Directory.p-Unicode, ErrorOutput)
        Global LoadMailEx.LoadMailEx = GetFunction(PBEx_Mail, "LoadMailEx")
        Prototype SendMailFileEx(ID, Path.p-Unicode, ErrorOutput)
        Global SendMailFileEx.SendMailFileEx = GetFunction(PBEx_Mail, "SendMailFileEx")
        Prototype CountMailAttachmentsEx(ID, ErrorOutput)
        Global CountMailAttachmentsEx.CountMailAttachmentsEx = GetFunction(PBEx_Mail, "CountMailAttachmentsEx")
        Prototype ExamineMailAttachmentsEx(ID, ErrorOutput)
        Global ExamineMailAttachmentsEx.ExamineMailAttachmentsEx = GetFunction(PBEx_Mail, "ExamineMailAttachmentsEx")
        Prototype NextMailEntryAttachmentsEx(ID, ErrorOutput)
        Global NextMailEntryAttachmentsEx.NextMailEntryAttachmentsEx = GetFunction(PBEx_Mail, "NextMailEntryAttachmentsEx")
        Prototype MailEntryAttachmentsFileNameEx(ID, Output, ErrorOutput)
        Global MailEntryAttachmentsFileNameEx.MailEntryAttachmentsFileNameEx = GetFunction(PBEx_Mail, "MailEntryAttachmentsFileNameEx")
        Prototype SaveMailEntryAttachmentsEx(ID, Path.p-Unicode, ErrorOutput)
        Global SaveMailEntryAttachmentsEx.SaveMailEntryAttachmentsEx = GetFunction(PBEx_Mail, "SaveMailEntryAttachmentsEx")
        Prototype FinishMailAttachmentsEx(ID, ErrorOutput)
        Global FinishMailAttachmentsEx.FinishMailAttachmentsEx = GetFunction(PBEx_Mail, "FinishMailAttachmentsEx")
        Prototype GetMailAttachmentsEx(ID, MailID, Directory.p-Unicode, ErrorOutput)
        Global GetMailAttachmentsEx.GetMailAttachmentsEx = GetFunction(PBEx_Mail, "GetMailAttachmentsEx")
        Prototype SetMailAttachmentsEx(ID, MailID, Directory.p-Unicode, Attachments.p-Unicode, ErrorOutput)
        Global SetMailAttachmentsEx.SetMailAttachmentsEx = GetFunction(PBEx_Mail, "SetMailAttachmentsEx")
        Prototype MailEntryAttributeEx(ID, ErrorOutput)
        Global MailEntryAttributeEx.MailEntryAttributeEx = GetFunction(PBEx_Mail, "MailEntryAttributeEx")
        Prototype SetMailAttributeEx(ID, MailID, Directory.p-Unicode, Attributes, ErrorOutput)
        Global SetMailAttributeEx.SetMailAttributeEx = GetFunction(PBEx_Mail, "SetMailAttributeEx")
        Prototype GetMailAttributeEx(ID, MailID, Directory.p-Unicode, ErrorOutput)
        Global GetMailAttributeEx.GetMailAttributeEx = GetFunction(PBEx_Mail, "GetMailAttributeEx")
       
      EndIf

      Global Output$ = Space(1000000)
      Global ErrorOutput$ = Space(128)

      Procedure NewMail(MailID$)
        Protected MailID = Val(MailID$)
       
        GetMailSubjectEx(1, MailID, "", @Output$, @ErrorOutput$)
        Debug "Subject: " + Output$
        GetMailFromEx(1, MailID, "", @Output$, @ErrorOutput$)
        Debug "From: " + Output$
        GetMailToEx(1, MailID, "", @Output$, @ErrorOutput$)
        Debug "To: " + Output$
        Debug "Date: " + FormatDate("%dd.%mm.%yyyy %hh:%ii:%ss", GetMailDateEx(1, MailID, "", @ErrorOutput$))
       
      EndProcedure

      If OpenMailEx(1, #PBEx_Mail_Protocol_IMAP, "imap.gmail.com", 993, "yourmailaddress@gmail.com", "YourPassword", 1, @ErrorOutput$)
       
      ;  ;Notify automatically when new emails arrive.
      ;   If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
      ;     
      ;     BindMailEventEx(1, #PBEx_Mail_Event_NewMail, @NewMail(), GetCurrentProcessId_(), @ErrorOutput$)
      ;     
      ;     Repeat
      ;       Select WaitWindowEvent()
      ;         Case #PB_Event_CloseWindow
      ;           End
      ;       EndSelect
      ;     ForEver
      ;   EndIf
       
      ;   ;Determine all directories (only for IMAP)
      ;   If ExamineMailDirectoryEx(1, @ErrorOutput$)
      ;     While NextMailDirectoryEntryEx(1, @ErrorOutput$)
      ;       MailDirectoryEntryNameEx(1, @Output$, @ErrorOutput$)
      ;       Debug Output$
      ;     Wend
      ;   
      ;   EndIf
       
        ;Determine all mail from inbox
        ;Or from any directory
        ;SetMailDirectoryEx(1, "Downloadportale/Chip", @ErrorOutput$)
        If ExamineMailEx(1, #PBEx_Mail_SeenType_AllMails, #PBEx_Mail_FetchType_AllData, 0, @ErrorOutput$)
          While NextMailEntryEx(1, @ErrorOutput$)
            MailEntrySubjectEx(1, @Output$, @ErrorOutput$)
            Debug "Subject: " + Output$
            MailEntryFromEx(1, @Output$, @ErrorOutput$)
            Debug "From: " + Output$
            MailEntryToEx(1, @Output$, @ErrorOutput$)
            Debug "To: " + Output$
            Debug "Date: " + FormatDate("%dd.%mm.%yyyy %hh:%ii:%ss", MailEntryDateEx(1, @ErrorOutput$))
             Debug MailIDEx(1, @ErrorOutput$)
            Debug Str(CountMailAttachmentsEx(1, @ErrorOutput$)) + " attachment(s)"
           
            If ExamineMailAttachmentsEx(1, @ErrorOutput$)
              While NextMailEntryAttachmentsEx(1, @ErrorOutput$)
                If MailEntryAttachmentsFileNameEx(1, @Output$, @ErrorOutput$)
                  Debug Output$
                EndIf
              Wend
            EndIf
           
            Debug "--------------------------------------------------"
          Wend
         
        EndIf
       
        CloseMailEx(1, @ErrorOutput$)
      Else
        Debug ErrorOutput$
      EndIf

      CloseLibrary(PBEx_Mail)

  • CloseMailEx()
    • Syntax:
      Code:
      Result = CloseMailEx(ID, @ErrorOutput$)

    • Beschreibung: Schließt die Verbindung zum Mailserver.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • ExamineMailDirectoryEx()
    • Syntax:
      Code:
      Result = ExamineMailDirectoryEx(ID, @ErrorOutput$)

    • Beschreibung: Startet die Auflistung von der Verzeichnisstruktur. Bei POP3 werden keine Verzeichnisse unterstützt.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • MailDirectoryEntryNameEx()
    • Syntax:
      Code:
      Result = MailDirectoryEntryNameEx(ID, @Output, @ErrorOutput$)

    • Beschreibung: Der Name des Verzeichnisses wird ermittelt. Diese Funktion ist nur innerhalb der ExamineMailDirectoryEx-Schleife gültig. Diese Funktion wird bei POP3 nicht unterstützt.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @Output: Der Name des Verzeichnisses wird in diese Variable gespeichert.
      3. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • ExamineMailEx()
    • Syntax:
      Code:
      Result = ExamineMailEx(ID, SeenType, FetchType, SortByNew, @ErrorOutput$)

    • Beschreibung: Startet die Auflistung vom aktuellen Verzeichnis.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. SeenType: Legt fest, ob alle E-Mails oder nur E-Mails, die bereits gelesen oder noch nicht gelesen wurden, ermittelt werden. Diese Funktion wird bei POP3 nicht unterstützt. Folgende Konstanten können verwendet werden:
        • #PBEx_Mail_SeenType_AllMails
        • #PBEx_Mail_SeenType_OnlySeenMails
        • #PBEx_Mail_SeenType_OnlyUnseenMails
      3. FetchType: Legt fest, ob alle Daten oder nur die Header-Daten der E-Mails heruntergeladen werden. Diese Funktion wird bei POP3 nicht unterstützt. Folgende Konstanten können verwendet werden:
        • #PBEx_Mail_FetchType_AllData
        • #PBEx_Mail_FetchType_OnlyHeaderData
      4. SortByNew: Legt die Reihenfolge zum Ermitteln der E-Mails fest:
        • 0: Die E-Mails, die zuerst erstellt wurden, werden zuerst ermittelt.
        • 1: Die neusten E-Mails werden zuerst ermittelt.
      5. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • MailEntrySubjectEx()
    • Syntax:
      Code:
      Result = MailEntrySubjectEx(ID, @Output, @ErrorOutput$)

    • Beschreibung: Ermittelt den Betreff der E-Mail. Diese Funktion ist nur innerhalb der ExamineMailEx-Schleife gültig.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @Output: Betreff der E-Mail wird in diese Variable gespeichert.
      3. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • MailEntryBodyEx()
    • Syntax:
      Code:
      Result = MailEntryBodyEx(ID, @Output, @ErrorOutput$)

    • Beschreibung: Ermittelt den Inhalt der E-Mail. Es kann entweder Reintext oder HTML sein. Diese Funktion ist nur innerhalb der ExamineMailEx-Schleife gültig.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @Output: Inhalt der E-Mail wird in diese Variable gespeichert.
      3. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • MailEntryFromEx()
    • Syntax:
      Code:
      Result = MailEntryFromEx(ID, @Output, @ErrorOutput$)

    • Beschreibung: Ermittelt den Absender der E-Mail. Diese Funktion ist nur innerhalb der ExamineMailEx-Schleife gültig.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @Output: Absender der E-Mail wird in diese Variable gespeichert.
      3. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • MailEntryToEx()
    • Syntax:
      Code:
      Result = MailEntryToEx(ID, @Output, @ErrorOutput$)

    • Beschreibung: Ermittelt den Empfänger der E-Mail. Diese Funktion ist nur innerhalb der ExamineMailEx-Schleife gültig.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @Output: Empfänger der E-Mail wird in diese Variable gespeichert.
      3. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • MailEntryCCEx()
    • Syntax:
      Code:
      Result = MailEntryCCEx(ID, @Output, @ErrorOutput$)

    • Beschreibung: Ermittelt den CC-Empfänger (sichtbarer Empfänger) der E-Mail. Diese Funktion ist nur innerhalb der ExamineMailEx-Schleife gültig.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @Output: CC-Empfänger der E-Mail wird in diese Variable gespeichert.
      3. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • MailEntryBCCEx()
    • Syntax:
      Code:
      Result = MailEntryBCCEx(ID, @Output, @ErrorOutput$)

    • Beschreibung: Ermittelt den BCC-Empfänger (unsichtbarer Empfänger) der E-Mail. Diese Funktion ist nur innerhalb der ExamineMailEx-Schleife gültig.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @Output: BCC-Empfänger der E-Mail wird in diese Variable gespeichert.
      3. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • MailEntryDateEx()
    • Syntax:
      Code:
      Result = MailEntryDateEx(ID, @ErrorOutput$)

    • Beschreibung: Ermittelt das Datum der E-Mail. Diese Funktion ist nur innerhalb der ExamineMailEx-Schleife gültig.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert: Das Datum der E-Mail. Der Wert kann mit der Date-Bibliothek verwendet werden.
  • MailEntryPriorityEx()
    • Syntax:
      Code:
      Result = MailEntryPriorityEx(ID, @ErrorOutput$)

    • Beschreibung: Ermittelt die festgelegte Priorität der E-Mail. Diese Funktion ist nur innerhalb der ExamineMailEx-Schleife gültig.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert: Die Priorität der E-Mail. Folgende Konstanten können abgefragt werden:
      • #PBEx_Mail_Priority_Normal
      • #PBEx_Mail_Priority_Low
      • #PBEx_Mail_Priority_High
  • FinishMailDirectoryEx()
    • Syntax:
      Code:
      Result = FinishMailDirectoryEx(ID, @ErrorOutput$)

    • Beschreibung: Schließt die Auflistung von der Verzeichnisstruktur.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • FinishMailEx()
    • Syntax:
      Code:
      Result = FinishMailEx(ID, @ErrorOutput$)

    • Beschreibung: Schließt die Auflistung vom aktuellen Verzeichnis.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • IsMailEx()
    • Syntax:
      Code:
      Result = IsMailEx(ID, @ErrorOutput$)

    • Beschreibung: Überprüft, ob die Verbindung noch gültig ist.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: ID ist gültig.
  • NextMailDirectoryEntryEx()
    • Syntax:
      Code:
      Result = NextMailDirectoryEntryEx(ID, @ErrorOutput$)

    • Beschreibung: Das nächste Verzeichnis wird ermittelt. Diese Funktion wird bei POP3 nicht unterstützt.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • NextMailEntryEx()
    • Syntax:
      Code:
      Result = NextMailEntryEx(ID, @ErrorOutput$)

    • Beschreibung: Die nächste E-Mail wird ermittelt.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • SetMailDirectoryEx()
    • Syntax:
      Code:
      Result = SetMailDirectoryEx(ID, DirectoryPath$, @ErrorOutput$)

    • Beschreibung: Öffnet das Verzeichnis, um die E-Mails dieses Verzeichnisses zu ermitteln. Diese Funktion wird bei POP3 nicht unterstützt.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. DirectoryPath$: Name oder vollständiger Pfad des Verzeichnisses. Wenn leer, dann wird das Posteingang-Verzeichnis ausgewählt.
      3. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • CreateMailDirectoryEx()
    • Syntax:
      Code:
      Result = CreateMailDirectoryEx(ID, DirectoryName$, @ErrorOutput$)

    • Beschreibung: Erstellt ein neues Verzeichnis. Diese Funktion wird bei POP3 nicht unterstützt.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. DirectoryName$: Name des Verzeichnisses.
      3. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • RenameMailDirectoryEx()
    • Syntax:
      Code:
      Result = RenameMailDirectoryEx(ID, OldDirectoryName$, NewDirectoryName$, @ErrorOutput$)

    • Beschreibung: Benennt ein vorhandenes Verzeichnis um. Diese Funktion wird bei POP3 nicht unterstützt.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. OldDirectoryName$: Name des Verzeichnisses.
      3. NewDirectoryName$: Neuer Name für das Verzeichnis.
      4. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • DeleteMailDirectoryEx()
    • Syntax:
      Code:
      Result = DeleteMailDirectoryEx(ID, DirectoryName$, @ErrorOutput$)

    • Beschreibung: Entfernt ein vorhandenes Verzeichnis. Diese Funktion wird bei POP3 nicht unterstützt.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. DirectoryName$: Name des Verzeichnisses.
      3. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • CreateMailEx()
    • Syntax:
      Code:
      Result = CreateMailEx(ID, Directory$, Subject$, Body$, Priority, From$, ToAddress$, CC$, BCC$, Attachments$, @ErrorOutput$)

    • Beschreibung: Erstellt eine neue E-Mail, die aber nicht gesendet wird.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. Directory$: Name des Verzeichnisses
      3. Subject$: Betreff der E-Mail
      4. Body$: Inhalt der E-Mail
      5. Priority: Festlegung der Priorität. Eine der folgenden Konstanten kann verwendet werden:
        • #PBEx_Mail_Priority_Normal
        • #PBEx_Mail_Priority_Low
        • #PBEx_Mail_Priority_High
      6. From$: E-Mail-Adresse des Absender.
      7. ToAddress$: E-Mail-Adresse des Empfänger. Mehrere E-Mail-Adressen können mit Semikolon getrennt werden.
      8. CC$: E-Mail-Adresse des Empfänger (sichtbarer Empfänger). Mehrere E-Mail-Adressen können mit Semikolon getrennt werden.
      9. BCC$: E-Mail-Adresse des Empfänger (unsichtbarer Empfänger). Mehrere E-Mail-Adressen können mit Semikolon getrennt werden.
      10. Attachments$: Vollständiger Pfad zur Datei, die als Anhang hinzugefügt werden soll. Mehrere Anhänge können mit dem |-Zeichen getrennt werden.
      11. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • BindMailEventEx()
    • Syntax:
      Code:
      Result = BindMailEventEx(ID, Event, @PBProcedure(), PID, @ErrorOutput$)

    • Beschreibung: Verknüft eine Prozedur mit einem Event.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. Event: Legt das Event fest, welches abgefragt werden soll. Eine der folgenden Konstanten kann verwendet werden:
        • #PBEx_Mail_Event_NewMail: Das Event wird ausgelöst, sobald neue E-Mails vorhanden sind.
      3. @PBProcedure(): Die Handle-Nummer der Prozedur, die automatisch aufgerufen wird, wenn das festgelegte Event ausgelöst wurde.
      4. PID: Die PID-Nummer des eigenen Programms.
      5. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • GetMailSubjectEx()
    • Syntax:
      Code:
      Result = GetMailSubjectEx(ID, MailID, DirectoryPath$, @Output$, @ErrorOutput$)

    • Beschreibung: Ermittelt mit Hilfe der MailID den Betreff.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. MailID: Die Nummer einer einzelnen E-Mail.
      3. DirectoryPath$: Der Name oder vollständiger Pfad zum Verzeichnis, in dem sich die angegebene E-Mail befindet. Wenn leer, dann wird das Posteingang-Verzeichnis ausgewählt.
      4. @Output$: Der Betreff wird in diese Variable gespeichert.
      5. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • GetMailBodyEx()
    • Syntax:
      Code:
      Result = GetMailBodyEx(ID, MailID, DirectoryPath$, @Output$, @ErrorOutput$)

    • Beschreibung: Ermittelt mit Hilfe der MailID den Inhalt.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. MailID: Die Nummer einer einzelnen E-Mail.
      3. DirectoryPath$: Der Name oder vollständiger Pfad zum Verzeichnis, in dem sich die angegebene E-Mail befindet. Wenn leer, dann wird das Posteingang-Verzeichnis ausgewählt.
      4. @Output$: Der Inhalt wird in diese Variable gespeichert.
      5. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • GetMailFromEx()
    • Syntax:
      Code:
      Result = GetMailFromEx(ID, MailID, DirectoryPath$, @Output$, @ErrorOutput$)

    • Beschreibung: Ermittelt mit Hilfe der MailID den Absender.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. MailID: Die Nummer einer einzelnen E-Mail.
      3. DirectoryPath$: Der Name oder vollständiger Pfad zum Verzeichnis, in dem sich die angegebene E-Mail befindet. Wenn leer, dann wird das Posteingang-Verzeichnis ausgewählt.
      4. @Output$: Der Absender wird in diese Variable gespeichert.
      5. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • GetMailToEx()
    • Syntax:
      Code:
      Result = GetMailToEx(ID, MailID, DirectoryPath$, @Output$, @ErrorOutput$)

    • Beschreibung: Ermittelt mit Hilfe der MailID den Empfänger.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. MailID: Die Nummer einer einzelnen E-Mail.
      3. DirectoryPath$: Der Name oder vollständiger Pfad zum Verzeichnis, in dem sich die angegebene E-Mail befindet. Wenn leer, dann wird das Posteingang-Verzeichnis ausgewählt.
      4. @Output$: Der Empfänger wird in diese Variable gespeichert.
      5. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • GetMailCCEx()
    • Syntax:
      Code:
      Result = GetMailCCEx(ID, MailID, DirectoryPath$, @Output$, @ErrorOutput$)

    • Beschreibung: Ermittelt mit Hilfe der MailID den CC-Empfänger. (sichtbarer Empfänger)
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. MailID: Die Nummer einer einzelnen E-Mail.
      3. DirectoryPath$: Der Name oder vollständiger Pfad zum Verzeichnis, in dem sich die angegebene E-Mail befindet. Wenn leer, dann wird das Posteingang-Verzeichnis ausgewählt.
      4. @Output$: Der CC-Empfänger wird in diese Variable gespeichert.
      5. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • GetMailBCCEx()
    • Syntax:
      Code:
      Result = GetMailBCCEx(ID, MailID, DirectoryPath$, @Output$, @ErrorOutput$)

    • Beschreibung: Ermittelt mit Hilfe der MailID den BCC-Empfänger. (unsichtbarer Empfänger)
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. MailID: Die Nummer einer einzelnen E-Mail.
      3. DirectoryPath$: Der Name oder vollständiger Pfad zum Verzeichnis, in dem sich die angegebene E-Mail befindet. Wenn leer, dann wird das Posteingang-Verzeichnis ausgewählt.
      4. @Output$: Der BCC-Empfänger wird in diese Variable gespeichert.
      5. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • GetMailDateEx()
    • Syntax:
      Code:
      Result = GetMailDateEx(ID, MailID, DirectoryPath$, @ErrorOutput$)

    • Beschreibung: Ermittelt mit Hilfe der MailID das Datum.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. MailID: Die Nummer einer einzelnen E-Mail.
      3. DirectoryPath$: Der Name oder vollständiger Pfad zum Verzeichnis, in dem sich die angegebene E-Mail befindet. Wenn leer, dann wird das Posteingang-Verzeichnis ausgewählt.
      4. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert: Das Datum der E-Mail. Der Wert kann mit der Date-Bibliothek verwendet werden.
  • GetMailPriorityEx()
    • Syntax:
      Code:
      Result = GetMailPriorityEx(ID, MailID, DirectoryPath$, @ErrorOutput$)

    • Beschreibung: Ermittelt mit Hilfe der MailID die Priorität.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. MailID: Die Nummer einer einzelnen E-Mail.
      3. DirectoryPath$: Der Name oder vollständiger Pfad zum Verzeichnis, in dem sich die angegebene E-Mail befindet. Wenn leer, dann wird das Posteingang-Verzeichnis ausgewählt.
      4. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert: Die Priorität der E-Mail. Folgende Konstanten können abgefragt werden:
      • #PBEx_Mail_Priority_Normal
      • #PBEx_Mail_Priority_Low
      • #PBEx_Mail_Priority_High
  • MailEntryBodySizeEx()
    • Syntax:
      Code:
      Result = MailEntryBodySizeEx(ID, @ErrorOutput$)

    • Beschreibung: Ermittelt die Größe in Bytes für das Allokieren des Speichers.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert: Größe in Bytes
  • MailIDEx()
    • Syntax:
      Code:
      Result = MailIDEx(ID, @ErrorOutput$)

    • Beschreibung: Ermittelt die Mail-ID, um damit Eigenschaften auszulesen oder zu ändern. Diese Funktion ist nur innerhalb der ExamineMailEx-Schleife gültig.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert: ID der E-Mail
  • SetMailSubjectEx()
    • Syntax:
      Code:
      Result = SetMailSubjectEx(ID, MailID, Directory$, Text$, @ErrorOutput$)

    • Beschreibung: Ändert mit Hilfe der Mail-ID den Betreff. Aufgrund der Spezifikation, dass die E-Mail nicht nachträglich modifiziert werden darf, wird die geänderte E-Mail als neue E-Mail gespeichert. Diese Funktion wird bei POP3 nicht unterstützt.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. MailID: ID der E-Mail
      3. Directory$: Name des Verzeichnisses
      4. Text$: Ändert mit dem angegebenen Wert.
      5. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • SetMailBodyEx()
    • Syntax:
      Code:
      Result = SetMailBodyEx(ID, MailID, Directory$, Text$, @ErrorOutput$)

    • Beschreibung: Ändert mit Hilfe der Mail-ID den Inhalt. Aufgrund der Spezifikation, dass die E-Mail nicht nachträglich modifiziert werden darf, wird die geänderte E-Mail als neue E-Mail gespeichert. Diese Funktion wird bei POP3 nicht unterstützt.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. MailID: ID der E-Mail
      3. Directory$: Name des Verzeichnisses
      4. Text$: Ändert mit dem angegebenen Wert.
      5. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • SetMailFromEx()
    • Syntax:
      Code:
      Result = SetMailFromEx(ID, MailID, Directory$, Text$, @ErrorOutput$)

    • Beschreibung: Ändert mit Hilfe der Mail-ID den Absender. Aufgrund der Spezifikation, dass die E-Mail nicht nachträglich modifiziert werden darf, wird die geänderte E-Mail als neue E-Mail gespeichert. Diese Funktion wird bei POP3 nicht unterstützt.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. MailID: ID der E-Mail
      3. Directory$: Name des Verzeichnisses
      4. Text$: Ändert mit dem angegebenen Wert.
      5. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • SetMailToEx()
    • Syntax:
      Code:
      Result = SetMailToEx(ID, MailID, Directory$, Text$, @ErrorOutput$)

    • Beschreibung: Ändert mit Hilfe der Mail-ID den Empfänger. Aufgrund der Spezifikation, dass die E-Mail nicht nachträglich modifiziert werden darf, wird die geänderte E-Mail als neue E-Mail gespeichert. Diese Funktion wird bei POP3 nicht unterstützt.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. MailID: ID der E-Mail
      3. Directory$: Name des Verzeichnisses
      4. Text$: Ändert mit dem angegebenen Wert. Mehrere E-Mail-Adressen können mit Semikolon getrennt werden.
      5. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • SetMailCCEx()
    • Syntax:
      Code:
      Result = SetMailCCEx(ID, MailID, Directory$, Text$, @ErrorOutput$)

    • Beschreibung: Ändert mit Hilfe der Mail-ID den CC-Empfänger (sichtbarer Empfänger). Aufgrund der Spezifikation, dass die E-Mail nicht nachträglich modifiziert werden darf, wird die geänderte E-Mail als neue E-Mail gespeichert. Diese Funktion wird bei POP3 nicht unterstützt.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. MailID: ID der E-Mail
      3. Directory$: Name des Verzeichnisses
      4. Text$: Ändert mit dem angegebenen Wert. Mehrere E-Mail-Adressen können mit Semikolon getrennt werden.
      5. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • SetMailBCCEx()
    • Syntax:
      Code:
      Result = SetMailBCCEx(ID, MailID, Directory$, Text$, @ErrorOutput$)

    • Beschreibung: Ändert mit Hilfe der Mail-ID den BCC-Empfänger (unsichtbarer Empfänger). Aufgrund der Spezifikation, dass die E-Mail nicht nachträglich modifiziert werden darf, wird die geänderte E-Mail als neue E-Mail gespeichert. Diese Funktion wird bei POP3 nicht unterstützt.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. MailID: ID der E-Mail
      3. Directory$: Name des Verzeichnisses
      4. Text$: Ändert mit dem angegebenen Wert. Mehrere E-Mail-Adressen können mit Semikolon getrennt werden.
      5. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • SetMailPriorityEx()
    • Syntax:
      Code:
      Result = SetMailPriorityEx(ID, MailID, Directory$, Priority, @ErrorOutput$)

    • Beschreibung: Ändert mit Hilfe der Mail-ID die Priorität. Aufgrund der Spezifikation, dass die E-Mail nicht nachträglich modifiziert werden darf, wird die geänderte E-Mail als neue E-Mail gespeichert. Diese Funktion wird bei POP3 nicht unterstützt.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. MailID: ID der E-Mail
      3. Directory$: Name des Verzeichnisses
      4. Priority: Priorität der E-Mail. Eine der folgenden Konstanten kann verwendet werden:
        • #PBEx_Mail_Priority_Normal
        • #PBEx_Mail_Priority_Low
        • #PBEx_Mail_Priority_High
      5. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • DeleteMailEx()
    • Syntax:
      Code:
      Result = DeleteMailEx(ID, MailID, Directory$, @ErrorOutput$)

    • Beschreibung: Entfernt mit Hilfe der Mail-ID und des Verzeichnisses die E-Mail. Diese Funktion wird bei POP3 nicht unterstützt.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. MailID: ID der E-Mail
      3. Directory$: Name oder vollständiger Pfad zum Verzeichnis, in dem sich die angegebene E-Mail befindet. Wenn leer, dann wird das Posteingang-Verzeichnis ausgewählt.
      4. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • MoveMailEx()
    • Syntax:
      Code:
      Result = MoveMailEx(ID, MailID, Directory$, TargetDirectory$, @ErrorOutput$)

    • Beschreibung: Verschiebt mit Hilfe der Mail-ID und des Quellverzeichnisses die E-Mail in das angegebene Zielverzeichnis. Diese Funktion wird bei POP3 nicht unterstützt.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. MailID: ID der E-Mail
      3. Directory$: Name oder vollständiger Pfad zum Verzeichnis, in dem sich die angegebene E-Mail befindet. Wenn leer, dann wird das Posteingang-Verzeichnis ausgewählt.
      4. TargetDirectory$: Name oder vollständiger Pfad zum Verzeichnis, in das die E-Mail verschoben werden soll. Wenn leer, dann wird das Posteingang-Verzeichnis ausgewählt.
      5. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • CountMailEx()
    • Syntax:
      Code:
      Result = CountMailEx(ID, Directory$, @ErrorOutput$)

    • Beschreibung: Ermittelt, wie viele E-Mails im angegebenen Verzeichnis existieren.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. Directory$: Name oder vollständiger Pfad zum Verzeichnis. Wenn leer, dann wird das Posteingang-Verzeichnis ausgewählt.
      3. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert: Anzahl der E-Mails
  • CountMailDirectoryEx()
    • Syntax:
      Code:
      Result = CountMailDirectoryEx(ID, @ErrorOutput$)

    • Beschreibung: Ermittelt, wie viele Verzeichnisse existieren. Diese Funktion wird bei POP3 nicht unterstützt.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert: Anzahl der Verzeichnisse
  • SendMailEx()
    • Syntax:
      Code:
      Result = SendMailEx(ID, Subject$, Body$, Priority, From$, ToAddress$, CC$, BCC$, Attachments$, @ErrorOutput$)

    • Beschreibung: Sendet eine neue E-Mail.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. Subject$: Betreff der E-Mail
      3. Body$: Inhalt der E-Mail
      4. Priority: Festlegung der Priorität. Eine der folgenden Konstanten kann verwendet werden:
        • #PBEx_Mail_Priority_Normal
        • #PBEx_Mail_Priority_Low
        • #PBEx_Mail_Priority_High
      5. From$: E-Mail-Adresse des Absender.
      6. ToAddress$: E-Mail-Adresse des Empfänger. Mehrere E-Mail-Adressen können mit Semikolon getrennt werden.
      7. CC$: E-Mail-Adresse des Empfänger (sichtbarer Empfänger). Mehrere E-Mail-Adressen können mit Semikolon getrennt werden.
      8. BCC$: E-Mail-Adresse des Empfänger (unsichtbarer Empfänger). Mehrere E-Mail-Adressen können mit Semikolon getrennt werden.
      9. Attachments$: Vollständiger Pfad zur Datei, die als Anhang hinzugefügt werden soll. Mehrere Anhänge können mit dem |-Zeichen getrennt werden. Aliasse werden unterstützt. Beispiel: OriginalDatei.zip<AliasDatei.zip>
      10. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • SaveMailEx()
    • Syntax:
      Code:
      Result = SaveMailEx(ID, MailID, Directory$, Path$, @ErrorOutput$)

    • Beschreibung: Speichert eine vorhandene E-Mail als EML-Datei auf die Festplatte.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. MailID: Die Nummer einer einzelnen E-Mail.
      3. DirectoryPath$: Der Name oder vollständiger Pfad zum Verzeichnis, in dem sich die angegebene E-Mail befindet. Wenn leer, dann wird das Posteingang-Verzeichnis ausgewählt.
      4. Path$: Vollständiger Pfad inkl. Dateiname, wohin die E-Mail exportiert werden soll.
      5. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • GetMailHeaderEx()
    • Syntax:
      Code:
      Result = GetMailHeaderEx(ID, MailID, Directory$, @Output$, @ErrorOutput$)

    • Beschreibung: Ermittelt mit Hilfe der MailID den vollständigen Header der E-Mail.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. MailID: Die Nummer einer einzelnen E-Mail.
      3. DirectoryPath$: Der Name oder vollständiger Pfad zum Verzeichnis, in dem sich die angegebene E-Mail befindet. Wenn leer, dann wird das Posteingang-Verzeichnis ausgewählt.
      4. @Output$: Der Header wird in diese Variable gespeichert.
      5. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • MailEntryHeaderEx()
    • Syntax:
      Code:
      Result = MailEntryHeaderEx(ID, @Output, @ErrorOutput$)

    • Beschreibung: Ermittelt den Header der E-Mail. Diese Funktion ist nur innerhalb der ExamineMailEx-Schleife gültig.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @Output$: Der Header wird in diese Variable gespeichert.
      3. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • LoadMailEx()
    • Syntax:
      Code:
      Result = LoadMailEx(ID, Path$, Directory$, @ErrorOutput$)

    • Beschreibung: Importiert eine EML-Datei in das angegebene Verzeichnis. Diese Funktion wird bei POP3 nicht unterstützt.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. Path$: Vollständiger Pfad zur EML-Datei.
      3. Directory$: Name oder vollständiger Pfad zum Verzeichnis. Wenn leer, dann wird das Posteingang-Verzeichnis ausgewählt.
      4. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert: MailID der importierten E-Mail.
  • SendMailFileEx()
    • Syntax:
      Code:
      Result = SendMailFileEx(ID, Path$, @ErrorOutput$)

    • Beschreibung: Sendet eine E-Mail mit Hilfe einer EML-Datei.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. Path$: Vollständiger Pfad zur EML-Datei.
      3. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • CountMailAttachmentsEx()
    • Syntax:
      Code:
      Result = CountMailAttachmentsEx(ID, @ErrorOutput$)

    • Beschreibung: Ermittelt, wie viele Anhänge in der aktuellen E-Mail existieren. Diese Funktion ist nur innerhalb der ExamineMailEx-Schleife gültig.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert: Anzahl der Anhänge
  • ExamineMailAttachmentsEx()
    • Syntax:
      Code:
      Result = ExamineMailAttachmentsEx(ID, @ErrorOutput$)

    • Beschreibung: Startet die Auflistung der Anhänge von der aktuellen E-Mail. Diese Funktion ist nur innerhalb der ExamineMailEx-Schleife gültig oder wenn vorher GetMailAttachmentsEx() aufgerufen wurde.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • NextMailEntryAttachmentsEx()
    • Syntax:
      Code:
      Result = NextMailEntryAttachmentsEx(ID, @ErrorOutput$)

    • Beschreibung: Der nächste Anhang der aktuellen E-Mail wird ermittelt.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • MailEntryAttachmentsFileNameEx()
    • Syntax:
      Code:
      Result = MailEntryAttachmentsFileNameEx(ID, @Output, @ErrorOutput$)

    • Beschreibung: Ermittelt den Dateinamen des Anhangs aus der aktuellen E-Mail. Diese Funktion ist nur innerhalb der ExamineMailAttachmentsEx-Schleife gültig oder wenn vorher GetMailAttachmentsEx() aufgerufen wurde.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @Output: Dateiname des Anhangs wird in diese Variable gespeichert.
      3. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • SaveMailEntryAttachmentsEx()
    • Syntax:
      Code:
      Result = SaveMailEntryAttachmentsEx(ID, Path$, @ErrorOutput$)

    • Beschreibung: Speichert den Anhang als Datei auf die Festplatte. Diese Funktion ist nur innerhalb der ExamineMailAttachmentsEx-Schleife gültig oder wenn vorher GetMailAttachmentsEx() aufgerufen wurde.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. Path$: Vollständiger Pfad inkl. Dateiname, wohin der Anhang exportiert werden soll.
      3. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • FinishMailAttachmentsEx()
    • Syntax:
      Code:
      Result = FinishMailAttachmentsEx(ID, @ErrorOutput$)

    • Beschreibung: Schließt die Auflistung der Anhänge von der aktuellen E-Mail. Diese Funktion ist nur innerhalb der ExamineMailEx-Schleife gültig oder wenn vorher GetMailAttachmentsEx() aufgerufen wurde.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • GetMailAttachmentsEx()
    • Syntax:
      Code:
      Result = GetMailAttachmentsEx(ID, MailID, DirectoryPath$, @ErrorOutput$)

    • Beschreibung: Legt für die Auflistung der Anhänge die E-Mail. Diese Funktion kann vor ExamineMailAttachmentsEx-Schleife aufgerufen werden, damit die Funktion ExamineMailAttachmentsEx() nicht alle E-Mails, sondern die angegebene E-Mail ermittelt.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. MailID: Die Nummer der E-Mail.
      3. DirectoryPath$: Der Name oder vollständiger Pfad zum Verzeichnis, in dem sich die angegebene E-Mail befindet. Wenn leer, dann wird das Posteingang-Verzeichnis ausgewählt.
      4. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • SetMailAttachmentsEx()
    • Syntax:
      Code:
      Result = SetMailAttachmentsEx(ID, MailID, DirectoryPath$, Attachments$, @ErrorOutput$)

    • Beschreibung: Fügt Dateien als Anhang hinzu.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. MailID: Die Nummer der E-Mail.
      3. DirectoryPath$: Der Name oder vollständiger Pfad zum Verzeichnis, in dem sich die angegebene E-Mail befindet. Wenn leer, dann wird das Posteingang-Verzeichnis ausgewählt.
      4. Attachments$: Vollständiger Pfad zur Datei, die als Anhang hinzugefügt werden soll. Mehrere Anhänge können mit dem |-Zeichen getrennt werden.
      5. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • MailEntryAttributeEx()
    • Syntax:
      Code:
      Result = MailEntryAttributeEx(ID, @ErrorOutput$)

    • Beschreibung: Ermittelt den Status der E-Mail. Diese Funktion ist nur innerhalb der ExamineMailEx-Schleife gültig. Diese Funktion wird bei POP3 nicht unterstützt.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert: Folgende Konstanten können abgefragt werden:
      • #PBEx_Mail_Attribute_Unseen: E-Mail wurde noch nicht gelesen.
      • #PBEx_Mail_Attribute_Seen: E-Mail wurde bereits gelesen.
  • GetMailAttributeEx()
    • Syntax:
      Code:
      Result = GetMailAttributeEx(ID, MailID, DirectoryPath$, @ErrorOutput$)

    • Beschreibung: Ermittelt mit Hilfe der MailID den Status der E-Mail. Diese Funktion wird bei POP3 nicht unterstützt.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. MailID: Die Nummer der E-Mail.
      3. DirectoryPath$: Der Name oder vollständiger Pfad zum Verzeichnis, in dem sich die angegebene E-Mail befindet. Wenn leer, dann wird das Posteingang-Verzeichnis ausgewählt.
      4. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert: Folgende Konstanten können abgefragt werden:
      • #PBEx_Mail_Attribute_Unseen: E-Mail wurde noch nicht gelesen.
      • #PBEx_Mail_Attribute_Seen: E-Mail wurde bereits gelesen.
  • SetMailAttributeEx()
    • Syntax:
      Code:
      Result = SetMailAttributeEx(ID, MailID, DirectoryPath$, Attributes, @ErrorOutput$)

    • Beschreibung: Ändert mit Hilfe der MailID den Status der E-Mail. Diese Funktion wird bei POP3 nicht unterstützt.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. MailID: Die Nummer der E-Mail.
      3. DirectoryPath$: Der Name oder vollständiger Pfad zum Verzeichnis, in dem sich die angegebene E-Mail befindet. Wenn leer, dann wird das Posteingang-Verzeichnis ausgewählt.
      4. Attributes: Folgende Konstanten können verwendet werden:
        • #PBEx_Mail_Attribute_Unseen: E-Mail wurde noch nicht gelesen.
        • #PBEx_Mail_Attribute_Seen: E-Mail wurde bereits gelesen.
      5. @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.

Hinweis: Bei Google Mail kann es passieren, dass der eigene Client aus Sicherheitsgründen blockiert wird. Um explizit zu erlauben: Google Konto > Sicherheit > Zugriff durch weniger sichere Apps
Je nach Anzahl der E-Mails in einem Verzeichnis und je nach Internetgeschwindigkeit kann es ggf. etwas dauern.

Systemvoraussetzungen:
  • Windows Vista oder höher
  • .NET Framework 4.5 oder höher
  • Unicode-Aktivierung (standardmäßig ab PB 5.50)

Lizenz: Diese DLL-Datei ist kostenlos und darf sowohl privat als auch kommerziell verwendet werden.
Folgende Copyright-Texte müssen mitgeliefert werden:
Zitat:
Copyright (c) 2012-2014 Torben Könke
MimeKit is Copyright (C) 2012-2018 Xamarin Inc.
Copyright © 2019 RSBasic.de


Download: http://www.rsbasic.de/downloads/downloa ... x_Mail.zip
Bild

Ich würde mich über Feedbacks, Verbesserungsvorschläge, Fehlermeldungen oder Wünsche sehr freuen. Wer mich unterstützen möchte, kann mir auch was kleines spenden. Danke :)

_________________
BildBildBildBild BildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PB.Ex Mail (Windows)
BeitragVerfasst: 30.04.2019 07:13 
Offline
Benutzeravatar

Registriert: 01.04.2007 20:18
:allright:

Geniale Sache. GMX, Strato, GMail, Web.de und mein Provider funktionieren damit :allright:

Konstruktive Kritik bisher :

Um einen Email Client zu basteln, müsste man jetzt nur noch wissen wie man :

    Mails
  • senden
  • löschen
  • verschieben (IMAP)
    Ordner (IMAP)
  • anlegen
  • verschieben
  • löschen

kann...

Edit:
Die Größe des "MailBody" auslesbar machen um den "Output$" Speicher gezielter reservieren zu können.

_________________
PureBasic 5.71 LTS (Windows x86/x64) | Windows10 Pro x64 | Z370 Extreme4 | i7 8770k | 32GB RAM | iChill GeForce GTX 980 X4 Ultra | HAF XF Evo​​


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PB.Ex Mail (Windows)
BeitragVerfasst: 30.04.2019 17:23 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Deutschland::Berlin()
PB.Ex Mail 1.0.1.0 wurde veröffentlicht.

Changelog:
  • Hinzugefügt: CreateMailDirectoryEx()
  • Hinzugefügt: RenameMailDirectoryEx()
  • Hinzugefügt: DeleteMailDirectoryEx()
  • Hinzugefügt: CreateMalEx()
  • Hinzugefügt: BindMailEventEx(): #PBEx_Mail_Event_NewMail: Damit wird automatisch eine PB-Prozedur aufgerufen, sobald neue E-Mails vorhanden sind.
  • Hinzugefügt: GetMailSubjectEx()
  • Hinzugefügt: GetMailBodyEx()
  • Hinzugefügt: GetMailFromEx()
  • Hinzugefügt: GetMailToEx()
  • Hinzugefügt: GetMailCCEx()
  • Hinzugefügt: GetMailBCCEx()
  • Hinzugefügt: GetMailDateEx()
  • Hinzugefügt: GetMailPriorityEx()
  • Hinzugefügt: MailEntryBodySizeEx(): Die Größe in Bytes von Body kann vorher für das Allokieren des Speichers ermittelt werden.
  • Geändert: MailEntryPriorityEx(): Name der Priorität wird nicht mehr zurückgegeben, sondern der Wert einer der folgenden Konstanten: #PBEx_Mail_Priority_Normal, #PBEx_Mail_Priority_Low, #PBEx_Mail_Priority_High

@Bisonte
Weitere Funktionen kommen demnächst.

_________________
BildBildBildBild BildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PB.Ex Mail (Windows)
BeitragVerfasst: 30.04.2019 21:12 
Offline
Benutzeravatar

Registriert: 10.09.2004 09:59
Boah ey, G.E.N.I.A.L.!!
Hast mir echt den Arsch gerettet, vielen Dank dafür!

_________________
Link tot?
Ändere h3x0r.ath.cx in hex0rs.coderbu.de und alles wird gut.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PB.Ex Mail (Windows)
BeitragVerfasst: 30.04.2019 21:31 
Offline
Benutzeravatar

Registriert: 01.04.2007 20:18
Um das mal mit jugendlichen Worten auszudrücken : Boah Alter... Krass! :allright:

Edit :

Ich hab da einen Tippfehler entdeckt :
Code:
CreateMalEx

Soll dann vermutlich CreateMailEx sein... (Die DLL Funktion ist ja egal wie sie heisst ;) Nur beim Code Lesen stolpert man drüber ;)

Und eine Frage noch :

Die "MessageID" einer Email bekomme ich woher ?
Oder ist das ein Handle das NUR in der "BindEventProzedure" gültig ist ? (So wie bei Callbacks z.B. wParam, lParam o.s.ä)

_________________
PureBasic 5.71 LTS (Windows x86/x64) | Windows10 Pro x64 | Z370 Extreme4 | i7 8770k | 32GB RAM | iChill GeForce GTX 980 X4 Ultra | HAF XF Evo​​


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PB.Ex Mail (Windows)
BeitragVerfasst: 30.04.2019 22:34 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Deutschland::Berlin()
Danke :)

Bisonte hat geschrieben:
Ich hab da einen Tippfehler entdeckt :
Code:
CreateMalEx

Soll dann vermutlich CreateMailEx sein... (Die DLL Funktion ist ja egal wie sie heisst ;) Nur beim Code Lesen stolpert man drüber ;)

Danke für den Hinweis. Sollte so nicht sein. :D Ich werde es anpassen.

Bisonte hat geschrieben:
Und eine Frage noch :

Die "MessageID" einer Email bekomme ich woher ?
Oder ist das ein Handle das NUR in der "BindEventProzedure" gültig ist ? (So wie bei Callbacks z.B. wParam, lParam o.s.ä)

Es ist bereits in Entwicklung. Funktionen wie MailIDEx(), SearchMailEx(), um die MessageID einer einzelnen E-Mail zu bekommen, um gezielt die Eigenschaften auszulesen und zu ändern, kommen bald.
Die Änderungsfunktionen mit Hilfe der MessageID sind auch schon in Entwicklung. Es dauert aber noch etwas, bis ich die ganzen Funktionen umgesetzt habe.

_________________
BildBildBildBild BildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PB.Ex Mail (Windows)
BeitragVerfasst: 01.05.2019 00:20 
Offline

Registriert: 13.05.2010 09:26
Wohnort: Berlin
@RSBasic: :allright:

Bisonte hat geschrieben:
Und eine Frage noch :

Die "MessageID" einer Email bekomme ich woher ?
Oder ist das ein Handle das NUR in der "BindEventProzedure" gültig ist ? (So wie bei Callbacks z.B. wParam, lParam o.s.ä)

Die Message-ID einer E-Mail wird beim Versenden der Mail erzeugt, ist weltweit einmalig (bzw. soll sie sein) und befindet sich im Header jeder Mail (s. z.B. in Thunderbird "Ansicht" > "Nachrichten-Quelltext").

_________________
Dieser Satz ist falsch.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PB.Ex Mail (Windows)
BeitragVerfasst: 01.05.2019 09:00 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Deutschland::Berlin()
Ich glaube, ich kann die von mir vorbereiteten Änderungsfunktionen (SetMailSubjectEx(), SetMailBodyEx(), ...) wegschmeißen.
Kann es sein, dass man beim IMAP keine Möglichkeit hat, die Daten einer E-Mail mit Hilfe einer UID zu modifizieren? Ich kann zwar lokal ändern, aber zum IMAP-Server nur als neue geänderte E-Mail hochladen, aber nicht überschreiben.
Weiß jemand von euch, ob es bei diesem Protokoll so vorgesehen ist, dass man keine Mails auf einem IMAP-Server verändern kann?

\\Edit:
Obwohl ich vorhin ewig gegoogelt habe, habe ich jetzt doch eine Antwort gefunden:
stackoverflow.com hat geschrieben:
IMAP is designed for server-side management of mailboxes, not for editing messages. So yes, you would have to retrieve the contents of the desired message (FETCH), then delete that message from the server (STORE a \Deleted flag on the message and then EXPUNGE deleted messages), and then upload the updated message to the server (APPEND). There are no IMAP commands for editing the contents of an existing message, only for updating flags related to existing messages (STORE).
Indeed, the specification guarantees that a specific message object (identified with a UID) is immutable. That's an important guarantee for caching email clients. Being able to edit a message would break that guarantee.


Na toll, ich dachte, es ginge sowas. Naja, dann kann man nur als neue Mail wieder hochladen und die andere Mail löschen.

\\Edit2:
Das steht auch in den Spezifikationen drin: https://tools.ietf.org/html/rfc3501#page-8
RFC 3501 hat geschrieben:
The unique identifier of a message MUST NOT change during the
session, [...]

_________________
BildBildBildBild BildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PB.Ex Mail (Windows)
BeitragVerfasst: 01.05.2019 16:12 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Deutschland::Berlin()
Ich habe eine Frage an euch: Brauchst ihr für diese DLL eine Mail-Senden-Funktion per SMTP? Ich frage deshalb, weil PB diese Funktion ja bereits hat.

_________________
BildBildBildBild BildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PB.Ex Mail (Windows)
BeitragVerfasst: 01.05.2019 16:29 
Offline

Registriert: 13.05.2010 09:26
Wohnort: Berlin
RSBasic hat geschrieben:
Ich habe eine Frage an euch: Brauchst ihr für diese DLL eine Mail-Senden-Funktion per SMTP? Ich frage deshalb, weil PB diese Funktion ja bereits hat.

Ehrlich gesagt: Wenn ich die DLL ernsthaft verwenden will, brauche ich eine flexible Funktion zum Senden. Insbesondere sollte das Erzeugen von Mails komplett vom Versenden getrennt sein.
Funktionen analog zu anderen Bibliotheken wären m.E. gut, etwa
  • CreateMailEx()
  • SaveMailEx()
  • LoadMailEx()
  • CatchmailEx()
Z.B. nach dem Laden kann ich dann in meinem Code SendMailEx() o.Ä. aufrufen.

Der Hintergrund, warum das getrennt sein sollte ist folgender:
Ich bin froh, wenn ich mich um das Senden nicht zu kümmern brauche, will aber ggf. die E-Mails selbst mit Hilfe meines eigenen Codes erzeugen. So wie die eingebaute PB-Funktion das macht (die schreibt da sogar noch irgendwelche merkwürdigen Header-Felder rein, glaube ich) ist es nur "zum Spielen", aber weder flexibel noch leistungsfähig, und man hat den Vorgang nicht wirklich unter Kontrolle.
Dass ich aber in wichtigen Punkten selbst bestimmen kann was (auf dem Computer) passiert, ist überhaupt der Grund weshalb ich programmieren gelernt habe. :-)

_________________
Dieser Satz ist falsch.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 94 Beiträge ]  Gehe zu Seite 1, 2, 3, 4, 5 ... 10  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye