Seite 5 von 12

Re: PB.Ex Mail (Windows)

Verfasst: 16.05.2019 10:02
von Morty
Moin RSBasic,
RSBasic hat geschrieben: CountMailEx() ist normalerweise unahängig von ExamineMailEx(), aber ich kann da gerne auch Parameter hinzufügen, um die jeweilige Anzahl zu ermitteln.
Ein Flag wäre cool und sehr hilfreich :D
RSBasic hat geschrieben: CountMailAttachmentsEx() basiert auf ExamineMailEx():
PB.Ex Hilfe hat geschrieben:Beschreibung: Ermittelt, wie viele Anhänge in der aktuellen E-Mail existieren. Diese Funktion ist nur innerhalb der ExamineMailEx-Schleife gültig.
Ich muss mal schauen, wie ich das am besten löse.
Das rufe ich ja auch in der ExamineMailEx Schleife auf.

Code: Alles auswählen

  If ExamineMailEx(1, #PBEx_Mail_SeenType_OnlyUnseenMails, #PBEx_Mail_FetchType_OnlyHeaderData, 1, @ErrorOutput$)
    Debug "Mails: "
    Debug CountMailEx(1, "", @ErrorOutput$)
    c.i = 0
    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$))
      c.i + 1
      Debug Str(c.i) + " : " + MailIDEx(1, @ErrorOutput$)
      Debug "Flag State: " + MailEntryAttributeEx(1, @ErrorOutput$)
      
      c_att.i = CountMailAttachmentsEx(1, @ErrorOutput$)
      Debug "Anhänge: " + Str(c_att.i)

      If c_att.i > 0    
        If ExamineMailAttachmentsEx(1, @ErrorOutput$)
          While NextMailEntryAttachmentsEx(1, @ErrorOutput$)
            If MailEntryAttachmentsFileNameEx(1, @Output$, @ErrorOutput$)
              Debug Output$
              SaveMailEntryAttachmentsEx(1, "C:\temp\" + Output$, @ErrorOutput$)
            EndIf
          Wend
        EndIf   
      EndIf
        
      Debug "--------------------------------------------------"
      Debug ErrorOutput$
      
      If c.i >= 100 : Break : EndIf
    Wend
    Debug ErrorOutput$
  EndIf
Danke und Gruß,
- Morty

Re: PB.Ex Mail (Windows)

Verfasst: 16.05.2019 10:12
von RSBasic
Morty hat geschrieben:Das rufe ich ja auch in der ExamineMailEx Schleife auf.
Ja das stimmt, aber da Attachments im selben Objekt liegt, bezieht sich das ebenfalls auf die Flags, die du gesetzt hast.
D.h. das Unterobjekt "Attachments" ist leer, weil du nur die Header-Daten abrufen möchtest.
Ich muss erstmal mal schauen. ggf. muss ich die Attachments separat abfragen, wenn man CountMailAttachmentsEx() u.ä. verwenden möchte.

Re: PB.Ex Mail (Windows)

Verfasst: 17.05.2019 00:00
von HeX0R
Geht das mit mehreren Anhängen allgemein nicht (CountMailAttachmentsEx() zeigt immer 1 an, auch, wenn die Mail 2 Anhänge hat), oder liegt es evtl. an einem merkwürdigen Format?

Ursprünglich hatte die Mail, um die es geht einen Anhang, ich habe die weitergeleitet mit Thunderbird, und der hängt die Ur-Mail als eml noch mit dran.
Ergo: Ich habe zwei Anhänge nun, aber CountMailAttachmentsEx() zeigt immer 1 an, und auch NextMailEntryAttachmentsEx() wird nur einmal aufgerufen.

Es ist übrigens egal, ob ich POP3 oder IMAP nutze, immer dasselbe.

Ach ja:
Könntest Du die Version noch in Deiner pbi irgendwo vermerken?
So ist es schwierig zu wissen, ob man die aktuellste Version hat.

Re: PB.Ex Mail (Windows)

Verfasst: 17.05.2019 08:50
von Morty
Bei mir war die Anzahl der Anhänge immer richtig (IMAP). Das habe ich über 3 Accounts getestet. Könnte aber wirklich sein, dass es vom Weiterleiten kommt. Kannst Du das Problem reproduzieren?

Gruß,
- Morty

Re: PB.Ex Mail (Windows)

Verfasst: 17.05.2019 15:05
von RSBasic
HeX0R hat geschrieben:Könntest Du die Version noch in Deiner pbi irgendwo vermerken?
So ist es schwierig zu wissen, ob man die aktuellste Version hat.
In den Eigenschaften der DLL-Datei unter Details kannst du die Version ermitteln.
Oder möchtest du eine Funktion wie GetDLLVersion() haben, um in PB zu prüfen?

Re: PB.Ex Mail (Windows)

Verfasst: 17.05.2019 15:14
von HeX0R
nee nee, ein simpler Kommentar im Source ganz oben würde mir schon genügen.
Aber ist auch so i.O.

Kann ich Dir mal so ne merkwürdige Mail weiterleiten, evtl. siehst Du ja, was das Problem ist?
Sag einfach wohin, dann schicke ich das heute Abend.

Re: PB.Ex Mail (Windows)

Verfasst: 17.05.2019 15:18
von RSBasic
HeX0R hat geschrieben:nee nee, ein simpler Kommentar im Source ganz oben würde mir schon genügen.
Kann ich zwar machen, aber ich hoffe, ich denk jedes Mal daran, den Versionskommentar bei jeder neuen Version anzupassen.
HeX0R hat geschrieben:Kann ich Dir mal so ne merkwürdige Mail weiterleiten, evtl. siehst Du ja, was das Problem ist?
Sag einfach wohin, dann schicke ich das heute Abend.
Du kannst gerne an folgende E-Mail-Adresse weiterleiten:
Bild

Wenn ich mit deiner Mail was reproduzieren soll, dann schick mir am besten eine eml-Datei.

Re: PB.Ex Mail (Windows)

Verfasst: 17.05.2019 16:29
von RSBasic
HeX0R hat geschrieben:Geht das mit mehreren Anhängen allgemein nicht (CountMailAttachmentsEx() zeigt immer 1 an, auch, wenn die Mail 2 Anhänge hat), oder liegt es evtl. an einem merkwürdigen Format?
Bei meinen Tests hat es funktioniert. Eine Mail mit einem, zwei und drei Anhängen.
Das mit der weitergeleiteten E-mail muss ich mal separat testen. Vielleicht gibt es da Unterschiede.

Re: PB.Ex Mail (Windows)

Verfasst: 17.05.2019 16:58
von RSBasic
@HeX0R
Ich habe bei einem anderen Gmail-Account eine E-Mail an die eigene E-Mail-Adresse mit zwei Anhängen gesendet. Anschließend habe ich diese E-Mail an meine private E-Mail-Adresse weitergeleitet.
Auch da sagt CountMailAttachmentsEx(), dass zwei Anhänge vorhanden sind, die auch mit ExamineMailAttachmentsEx() aufgelistet werden können.

Re: PB.Ex Mail (Windows)

Verfasst: 17.05.2019 18:38
von HeX0R
Ich denke ich habe das Problem gefunden!
Irgendwie ist mein Thunderbird so eingestellt, dass er bei Weiterleitung die komplette bestehende Mail (die einen eigenen Anhang hat) als eml anhängt.
D.h. er versendet in der Tat nur einen Anhang.
Beim empfangen wiederum ist Thunderbird so clever in die angehängte eml zu schauen, dort wiederum einen Anhang zu erkennen, und die Mail dann mit ZWEI Anhängen anzuzeigen.

Das ist dann eher eine Eigenart von Thunderbird, das brauchst Du so natürlich nicht zu unterstützen.
Ich muss jetzt nur noch herausfinden wieso der TB das so macht, früher hat er das definitiv nicht so gehandhabt.