Drag&Drop Mail onto a 4D V14 Listbox

english preferred?


In der NUG wurde die Drag & Drop challenge – developer wanted ausgerufen

Direct Drag & Drop (not via Desktop) of an eMail from Apple Mail/Outlook Mac to a 4D listbox.

Die Aufgabe ist in 4D V14 und Mac OS X.10 Yosemite lösbar. In On Drag Over ist ein Drag aus Apple Mail/Outlook Mac zu erlauben und in On Drop ist die Liste der übergebenen Mails auszulesen.

Apple Mail legt jede einzelne Mail-Nachricht als Dokument(e) auf der Platte ab. Deshalb ist an Hand der Liste der Pfad zu jeder Mail-Nachricht zu ermitteln um schließlich die Nachricht selber mit den 4D InternetCommands, IC Downloaded Mail, auszulesen. Im Prinzip ist mit Outlook ähnlich zu verfahren, nur müssen die Mailnachrichten als *.eml-Dokumente zwischengelagert werden. Klappt!

DBZ_DnDEMail_Tester
Screenshot aus DBZ_DnDEMail_Tester

Geht es nur ums Archivieren der Mail-Nachrichten, würde ich an Hand der Pfade die Nachricht mit Document To Text in die Datenbank einlesen. Fertig. In der Test-Anwendung wird die eMail angezeigt, so gut das mit den 4D-Mitteln geht.

Der Weg dorthin war nicht der direkteste. Ich habe deshalb eine 4D Komponente eingebaut. Dazu eine 4D Test-Anwendung, um die Komponente zu testen und gleichzeitig als Anleitung, wie die Komponente zu nutzen ist.

Wie immer: die Komponente ist umsonst. Es gibt dazu eine Test-DB in interpretierter Fassung. Den Source-Code gibt es gegen einen Obolus für Idee, Aufwand und Code.

Beschreibung, Download und Kaufoption für den Sourcecode finden Sie hier.


lieber auf deutsch?

The Drag & Drop challenge – developer wanted arrived via iNUG.

Direct Drag & Drop (not via Desktop) of an eMail from Apple Mail/Outlook Mac to a 4D listbox.

The challenge is solvable for 4D V14 and Mac OS X.10 Yosemite. While On Drag Over check if this is a Drag from Apple Mail/Outlook Mac and accept that. On Drop read the list of selected emails.

Apple Mail saves every message as file(s) of type *.emlx. That means find the path for every mail-message selected. For display use the IC Downloaded Mail-commands of 4D InternetCommands to get header-infos, subject, mail-body. MS Outlook works similar, sort of. The mail-messages need to be temporarily stored as *.eml-files. Works!

DBZ_DnDEMail_Tester
Screenshot aus DBZ_DnDEMail_Tester

For archiving-purposes I’d use the paths and Document To Text to load the message into the database. Done. The test-database tries to display the message with 4D-tools.

It was a curvy road to achieve that goal. Now it is a 4D-component. Load the 4D test-database, to test the component and learn, how the component is to be used.

As always: the component is free to use. The 4D test-database is available as *.4DB, interpreted. You can buy the source-code as a contribution for idea, efforts and code.

Description, Download and Buy-button for source-code are here.