PB.Ex Mail (Windows)
Re: PB.Ex Mail (Windows)
Okay, dann füge ich das hinzu. CreateMailEx() gibt es ja bereits, um nur eine neue E-Mail ohne Senden zu erstellen.
Re: PB.Ex Mail (Windows)
Hallo RSBasic,
vielen Dank schon mal im Voraus!
Ja, da sind jetzt schon so viele Funktionen, die hab ich mir noch gar nicht alle angekuckt.
Ich werde erst im nächsten Monat Zeit haben, mir das alles in Ruhe anzusehen und es auszuprobieren. Aber eine gute E-Mai-Bibliothek mit POP3-, IMAP- und SMTP-Funktionen wäre m.E. "der Wahnsinn", und würde die Power von PB auf ein neues Level heben ... jedenfalls für mich.
vielen Dank schon mal im Voraus!
Ja, da sind jetzt schon so viele Funktionen, die hab ich mir noch gar nicht alle angekuckt.
Ich werde erst im nächsten Monat Zeit haben, mir das alles in Ruhe anzusehen und es auszuprobieren. Aber eine gute E-Mai-Bibliothek mit POP3-, IMAP- und SMTP-Funktionen wäre m.E. "der Wahnsinn", und würde die Power von PB auf ein neues Level heben ... jedenfalls für mich.
Re: PB.Ex Mail (Windows)
Ja, Du wertest PB echt auf - nicht nur mit der Lib.
Vielen Dank!
Diesmal hätte ich aber einen Verbeserungsvorschlag.
Beim Testen habe ich u.a. meinen Google-Account probiert und jeweils nach ein paar Minuten abgebrochen.
Es sah so aus als ob ExamineMailEx() hängen würde. Bei einem alten Yahoo-Konto kam dann die Ausgabe.
Der Unterschied: Das Konto war fast leer.
Es wäre toll wenn es eine Möglichkeit zum Hochzählen gäbe - Mail 42 von 2019.
Vielen Dank!
Diesmal hätte ich aber einen Verbeserungsvorschlag.
Beim Testen habe ich u.a. meinen Google-Account probiert und jeweils nach ein paar Minuten abgebrochen.
Es sah so aus als ob ExamineMailEx() hängen würde. Bei einem alten Yahoo-Konto kam dann die Ausgabe.
Der Unterschied: Das Konto war fast leer.
Es wäre toll wenn es eine Möglichkeit zum Hochzählen gäbe - Mail 42 von 2019.
Re: PB.Ex Mail (Windows)
PB.Ex Mail 1.0.2.0 wurde veröffentlicht.
Changelog:
Ich schau es mir an.
@all
Ich bin noch nicht fertig. Weitere Funktionen kommen noch.
Changelog:
- Hinzugefügt: MailIDEx()
- Hinzugefügt: SetMailSubjectEx()
- Hinzugefügt: SetMailBodyEx()
- Hinzugefügt: SetMailFromEx()
- Hinzugefügt: SetMailToEx()
- Hinzugefügt: SetMailCCEx()
- Hinzugefügt: SetMailBCCEx()
- Hinzugefügt: SetMailPriorityEx()
- Hinzugefügt: DeleteMailEx()
- Hinzugefügt: MoveMailEx()
- Hinzugefügt: CountMailEx()
- Hinzugefügt: CountMailDirectoryEx()
- Geändert: CreateMailEx(): Es wird jetzt die MailID der neuen E-Mail zurückgegeben.
- Geändert: GetMailSubjectEx()
- Geändert: GetMailBodyEx()
- Geändert: GetMailFromEx()
- Geändert: GetMailToEx()
- Geändert: GetMailCCEx()
- Geändert: GetMailBCCEx()
- Geändert: MessageID heißt jetzt MailID
- Geändert: Hilfe-Beschreibungen zu den einzelnen Funktionen
Ich schau es mir an.
@all
Ich bin noch nicht fertig. Weitere Funktionen kommen noch.
Re: PB.Ex Mail (Windows)
Hi Nino,
es ist Wochenende und habe jetzt mehr Zeit.
Du möchtest ja diese Trennung haben: CreateMailEx(), SendMailEx()
D.h. man erstellt mit CreateMailEx() eine temporäre E-Mail im Speicher und danach kann man die E-Mail z.B. senden, exportieren, ändern oder auslesen
Das Problem ist aber, dass ich für die temporäre E-Mail eine eigene ID brauche, die nichts mit der MailID (UID) zu tun hat. Alle bisherigen Funktionen basieren auf existierenden E-Mails auf dem Mailserver und mit Hilfe der MailID (UID) kann man auf die jeweilige E-Mail zugreifen und z.B. den Betreff auslesen/ändern oder die Mail verschieben o.ä.
Wenn man eine temporäre E-Mail mit CreateMailEx() erstellt, dann will man als Entwickler i.d.R. die ganzen Funktionen, die für existierenden E-Mails verfügbar sind, auch für die temporäre erstellte Mail anwenden. Nur kann man die Temp-ID und die MailID (UID) nicht unterscheiden.
Ich kann bei jeder Funktion einen zusätzlichen ID-Parameter hinzufügen (einmal für UID und einmal für TempID) oder bei jeder Funktion eine Flag-Konstante hinzufügen, um festzulegen, welche ID man angibt, aber das macht alles viel zu kompliziert und ist meiner Meinung nach keine schöne Lösung.
Die einzige Lösung, die mir einfällt, wäre, dass zwar die Funktion CreateMailEx() gibt, die aber die E-Mail auf dem Mailserver erstellt, so dass die Mail eine UID bekommt, mit der man alle bisherigen Funktionen benutzen kann.
Und SendMailEx() würde ich als direkte Mail-Erstellen-und-Senden-Funktion bereitstellen. D.h. man erstellt damit eine E-Mail mit den Daten, die man als Parameter übergibt, und die E-Mail wird direkt gesendet.
LoadMailEx() und SaveMailEx() würde ich auch bereitstellen. Bei SaveMailEx() würde man dann nur die MailID (UID) einer existierenden E-Mail angeben, die dann auf deine Festplatte exportiert wird.
Würde ich diese Trennung machen, dann weiß ich z.B. bei SaveMailEx() nicht, ob du eine mit CreateMailEx() temporär erstellte E-Mail exportieren möchtest oder eine existierende E-Mail auf dem Mailserver. Mit zusätzlicher Parametrisierung (ob TempID oder MailID (UID) würde das unübersichtlich machen.
Ist mein Vorschlag ohne Trennung deiner Meinung nach schlimm oder hast du einen besseren Vorschlag?
es ist Wochenende und habe jetzt mehr Zeit.
Du möchtest ja diese Trennung haben: CreateMailEx(), SendMailEx()
D.h. man erstellt mit CreateMailEx() eine temporäre E-Mail im Speicher und danach kann man die E-Mail z.B. senden, exportieren, ändern oder auslesen
Das Problem ist aber, dass ich für die temporäre E-Mail eine eigene ID brauche, die nichts mit der MailID (UID) zu tun hat. Alle bisherigen Funktionen basieren auf existierenden E-Mails auf dem Mailserver und mit Hilfe der MailID (UID) kann man auf die jeweilige E-Mail zugreifen und z.B. den Betreff auslesen/ändern oder die Mail verschieben o.ä.
Wenn man eine temporäre E-Mail mit CreateMailEx() erstellt, dann will man als Entwickler i.d.R. die ganzen Funktionen, die für existierenden E-Mails verfügbar sind, auch für die temporäre erstellte Mail anwenden. Nur kann man die Temp-ID und die MailID (UID) nicht unterscheiden.
Ich kann bei jeder Funktion einen zusätzlichen ID-Parameter hinzufügen (einmal für UID und einmal für TempID) oder bei jeder Funktion eine Flag-Konstante hinzufügen, um festzulegen, welche ID man angibt, aber das macht alles viel zu kompliziert und ist meiner Meinung nach keine schöne Lösung.
Die einzige Lösung, die mir einfällt, wäre, dass zwar die Funktion CreateMailEx() gibt, die aber die E-Mail auf dem Mailserver erstellt, so dass die Mail eine UID bekommt, mit der man alle bisherigen Funktionen benutzen kann.
Und SendMailEx() würde ich als direkte Mail-Erstellen-und-Senden-Funktion bereitstellen. D.h. man erstellt damit eine E-Mail mit den Daten, die man als Parameter übergibt, und die E-Mail wird direkt gesendet.
LoadMailEx() und SaveMailEx() würde ich auch bereitstellen. Bei SaveMailEx() würde man dann nur die MailID (UID) einer existierenden E-Mail angeben, die dann auf deine Festplatte exportiert wird.
Würde ich diese Trennung machen, dann weiß ich z.B. bei SaveMailEx() nicht, ob du eine mit CreateMailEx() temporär erstellte E-Mail exportieren möchtest oder eine existierende E-Mail auf dem Mailserver. Mit zusätzlicher Parametrisierung (ob TempID oder MailID (UID) würde das unübersichtlich machen.
Ist mein Vorschlag ohne Trennung deiner Meinung nach schlimm oder hast du einen besseren Vorschlag?
Re: PB.Ex Mail (Windows)
Hallo RSBasic,
erstmal ganz vielen Dank dafür, dass Du Dich so ausführlich mit meinem Vorschlag beschäftigst!
An die Probleme, die Du schilderst, hatte ich zuvor nicht gedacht. So einfach wie ich mir das vorgestellt hatte geht es also nicht.
Bitte mach das Modul nicht zu kompliziert, schon gar nicht meinetwegen.
Was ich v.a. gern hätte ist eine Routine, mit der ich vorhandene gültige Mail-Dateien von der Festplatte laden und verschicken kann. Die Mails möchte ich gern mit selbst geschriebenem Code erzeugen (sind ja letztlich nur Textdateien unter Beachtung der Regeln in RFC 2822). Ließe sich das ohne zu viele Umstände in Dein Modul integrieren?
Vielen Dank nochmal!
erstmal ganz vielen Dank dafür, dass Du Dich so ausführlich mit meinem Vorschlag beschäftigst!
An die Probleme, die Du schilderst, hatte ich zuvor nicht gedacht. So einfach wie ich mir das vorgestellt hatte geht es also nicht.
Bitte mach das Modul nicht zu kompliziert, schon gar nicht meinetwegen.
Was ich v.a. gern hätte ist eine Routine, mit der ich vorhandene gültige Mail-Dateien von der Festplatte laden und verschicken kann. Die Mails möchte ich gern mit selbst geschriebenem Code erzeugen (sind ja letztlich nur Textdateien unter Beachtung der Regeln in RFC 2822). Ließe sich das ohne zu viele Umstände in Dein Modul integrieren?
Vielen Dank nochmal!
Re: PB.Ex Mail (Windows)
Hi Nino,
danke für deine schnelle Antwort.
Bezüglich deiner Frage mit der Importierung. Viele Mail-Clients exportieren ihre E-Mails als EML-Dateien. Das sind reine Textdateien mit einem Header oder Body, die man problemlos selber erstellen kann.
Ich werde versuchen, sowohl eine Export- als auch eine Importfunktion zu bauen.
danke für deine schnelle Antwort.
Bezüglich deiner Frage mit der Importierung. Viele Mail-Clients exportieren ihre E-Mails als EML-Dateien. Das sind reine Textdateien mit einem Header oder Body, die man problemlos selber erstellen kann.
Ich werde versuchen, sowohl eine Export- als auch eine Importfunktion zu bauen.
Re: PB.Ex Mail (Windows)
Hi RSBasic!
Die eingebauten PB-Funktionen wie CreateMail() oder SetMailBody() sind ja gut zur Bequemlichkeit, wenn man einfache Mails verschicken will. Ich möchte aber die Möglichkeit haben, bei Bedarf den Inhalt von zu versendenden Mail komplett selbst bestimmen zu können.
Ich weiß. Genau die meinte ich als ich schriebRSBasic hat geschrieben:Viele Mail-Clients exportieren ihre E-Mails als EML-Dateien. Das sind reine Textdateien mit einem Header oder Body, die man problemlos selber erstellen kann.
(sind ja letztlich nur Textdateien unter Beachtung der Regeln in RFC 2822)
Was genau meinst Du mit Ex- und Import? Was ich v.a. bräuchte ist eine Funktion, mit der ich solche selbsterzeugten EML-Dateien per SMTP verschicken kann.RSBasic hat geschrieben:Ich werde versuchen, sowohl eine Export- als auch eine Importfunktion zu bauen.
Die eingebauten PB-Funktionen wie CreateMail() oder SetMailBody() sind ja gut zur Bequemlichkeit, wenn man einfache Mails verschicken will. Ich möchte aber die Möglichkeit haben, bei Bedarf den Inhalt von zu versendenden Mail komplett selbst bestimmen zu können.
Re: PB.Ex Mail (Windows)
Mit LoadMailEx() und SaveMailEx() kannst du E-Mails auf deine Festplatte sichern und wieder auf deinen Mailserver importieren, wenn die E-Mail nicht mehr existiert oder wenn du eine eigene E-Mail importieren möchtest.Nino hat geschrieben:Was genau meinst Du mit Ex- und Import? Was ich v.a. bräuchte ist eine Funktion, mit der ich solche selbsterzeugten EML-Dateien per SMTP verschicken kann.RSBasic hat geschrieben:Ich werde versuchen, sowohl eine Export- als auch eine Importfunktion zu bauen.
Mit SendMailEx() kannst du mit Hilfe der übergegeben Parameter (Betreff, Body, ...) direkt an einen SMTP-Server senden. Du möchtest ja gerne eine eml-Datei von der Festplatte direkt versenden. Dann werde ich noch eine SendMailFileEx() hinzufügen.