Datenimport aus Mail oder vom Webseiten Kontaktformular
Ich bekomme Anfragen via Kontaktformular (Webseite) und möchte diese empfangenen Daten nicht noch einmal manuell in Ninox eingeben. Kann ich es irgendwie realisieren, das es hier einen Automatismus gibt? Am besten direkt, aus einer mySQL Datenbank heraus oder "einfach" per CSV. Vielen Dank
14 Antworten
-
Hallo Torsten, ich benötige diese Funktion ebenfalls dringend. Bisher gibt es aus NinoxDB meines Wissens keine derartige Import-Funktion. Ich gehe wie folgt vor:
1. Ich habe auf meinem Webspace das Webmail-Tool "rainloop" installiert - ist OpenSource. Das besondere daran ist, dass man dieses Webmail Tool in einem iFrame darstellen kann, was andere Webmailer nicht mehr zulassen.2. In Rainloop konfiguriere ich den IMAP-Zugang auf das abzurufende Postfach. Es sind auch mehrere möglich.
3. In NinoxDB binde ich rainloop in einem iFrame in ein Berechnungsfeld html([URL]) ein.
4. In diesem iFrame öffne ich die Email und kann diese dann einfach komplett markieren und dann per copy+paste in ein Formatiertes Textfeld in NinoxDB copieren.5. Von da aus kann man den Inhalt der Mail oder des kopierten Textteiles dann in Ninox weiterbearbeiten....
Im Moment noch etwas umständlich, aber die praktikabelste Lösung, mit der man mit wenigen Handgriffen Emails importierern kann. -
Wenn Du das so machen willst und Fragen hast - da gibt's ein paar Kniffe, die das alles erleichtern - kann ich Dir gerne helfen. Hab das mehrfach so am laufen....
-
Hallo Dirk,
Vielen Dank ersteinmal für Deine Idee...
Ich hatte eher daran gedacht das ich mir von meinem Kontaktfomular eine CSV erstellen lasse und die dann übernehme. Allerdings ist das mit dem Import noch zu aufwendig für die Person die das nachher bedient.
Mit deiner Version könnte ich mir auch meinen Webmailer im iframe anzeigen lassen. Das wäre zumindest dann schon einmal alles in einem System.
Am besten wäre man könnte an einer Datenbank andocken und per Knopfdruck importieren.
-
Ja, per Knopfdruck geht noch nicht. Aber Mail öffnen, Copy-Paste in ein Textfeld und dann natürlich per Knopfdruck (Trigger-Button) den kopierten Text in seine Einzelteile zerlegen (Vorname, Name, Strasse, Email....) und so dann automatisch in die Felder übernehmen. So mach ich das. Dann bleibt praktisch nur noch anfänglich der copy-paste Schritt manuell.
-
Ich bau gerade dieses Script zum 'zerlegen' um - wenn's tut kann ich es hier ja posten....
-
ja cool, wäre toll.
Ich muss zugeben, Ninox überfordert mich auch etwas. Ich finde die Referenz und Tutorials etwas dürftig.
-
Naja, ab einem gewissen Niveau - wenn man komplexere Dinge tun muss - sollte man etwas Erfahrung in solchen Scriptsprachen mitbringen. Mir ist manche Syntax auch nicht so geläufig und die Tutorials decken nicht alle möglichkeiten ab. Aber zum Glück bekommt man hier ja gute Hilfe und lernt so immer was dazu.
-
So, ich habe ein Script gebaut, welches ein Adressfeld aus einem Kontaktformular in seine Bestandteile zerlegt und in die einzelnen Datenfelder füllt. Es dient als Beispiel und muss ggf. angepasst werden.
Ausgangspunkt:
Im Kontaktformular sehen die Daten so aus: (Phantasie-Daten)
Verson 1:
Name: Herr Uwe Bauer
Straße: Hauptstr .2
PLZ/Ort: 72072 Tübingen
Telefon: 015226226514
E-Mail: uwe.bauer@web.de
Nachricht des Interessenten
"Ich interessiere mich für Ihr Angebot und möchte gerne einen Besichtigungstermin vereinbaren. Bitte rufen Sie mich zurück. "
Oder auch so - wenn nicht alle Felder gefüllt sind:
Name: Herr Uwe Bauer
PLZ/Ort:
Telefon: 015226226514
E-Mail: uwe.bauer@web.de
Ich kopiere per copy/paste diesen Textblock aus der Email in ein mehrzeiliges Textfeld 'Textblock'.
Beim betätigen des Buttons "Neue Adresse" wird in der verknüpften Tabelle '11_Kontakte' ein neuer Datensatz angelegt und die Adressfelder (z.B. 11_Kontakte.Vorname, 11_Kontakte.Name usw. befüllt:
Kontakt := (create '11_Kontakte');
let Tmp_Text := ""
let Tmp_Textblock := Textblock;
Tmp_Textblock := replace(Tmp_Textblock, "Name:", "[1]");
Tmp_Textblock := replace(Tmp_Textblock, "Straße:", "[2]");
Tmp_Textblock := replace(Tmp_Textblock, "PLZ/Ort:", "[3]");
Tmp_Textblock := replace(Tmp_Textblock, "Telefon:", "[4]");
Tmp_Textblock := replace(Tmp_Textblock, "E-Mail:", "[5]");
Tmp_Textblock := replace(Tmp_Textblock, "Nachricht des Interessenten", "[6]");
let Name_start := index(Tmp_Textblock, "[1]");
let Strasse_start := index(Tmp_Textblock, "[2]");
let Ort_start := index(Tmp_Textblock, "[3]");
let Tel_start := index(Tmp_Textblock, "[4]");
let Mail_start := index(Tmp_Textblock, "[5]");
let Nachricht_start := index(Tmp_Textblock, "[6]");
if Name_start != -1 then
let Next_start := Strasse_start;
if Next_start = -1 then
Next_start := Ort_start
end;
let Tmp_Vollname := substr(Tmp_Textblock, 4, Next_start - 4);
if substr(Tmp_Vollname, 0, 4) = "Herr" then
Kontakt.(Anrede := 1);
Tmp_Vollname := substr(Tmp_Vollname, 5, length(Tmp_Vollname) - 5)
end;
if substr(Tmp_Vollname, 0, 4) = "Frau" then
Kontakt.(Anrede := 2);
Tmp_Vollname := substr(Tmp_Vollname, 5, length(Tmp_Vollname) - 5)
end;
let Tmp_Text := substr(Tmp_Vollname, 0, index(Tmp_Vollname, " "));
Kontakt.(Vorname := Tmp_Text);
let Tmp_Text := substr(Tmp_Vollname, index(Tmp_Vollname, " ") + 1, length(Tmp_Vollname) - index(Tmp_Vollname, " ") - 1);
Kontakt.(Nachname := Tmp_Text)
end;
if Strasse_start != -1 then
let Next_start := Ort_start;
if Ort_start = -1 then
Next_start := Tel_start
end;
let Tmp_Text := substr(Tmp_Textblock, Strasse_start + 4, Next_start - Strasse_start - 4);
Kontakt.(Strasse := Tmp_Text)
end;
if Ort_start != -1 then
if Tel_start - Ort_start > 5 then
let Next_start := Tel_start;
void
end;
if Tel_start = -1 then
let Next_start := Mail_start;
void
end;
let Tmp_Ort := substr(Tmp_Textblock, Ort_start + 4, Tel_start - Ort_start - 4);
Kontakt.(Postleitzahl := substr(Tmp_Ort, 0, 5));
Kontakt.(Stadt := substr(Tmp_Ort, 5, length(Tmp_Ort) - 5))
end;
let Tmp_Text := substr(Tmp_Textblock, Tel_start + 4, Mail_start - Tel_start - 4);
Kontakt.('Telefon Privat' := Tmp_Text);
let Next_start := Nachricht_start;
if Next_start = -1 then
Next_start := length(Tmp_Textblock)
end;
let Tmp_Text := substr(Tmp_Textblock, Mail_start + 4, Next_start - Mail_start - 4);
Kontakt.('E-Mail' := Tmp_Text)
-
Hallo Torsten, ich mach es aktuell mit einem CSV Export. Welches System nutzt du mit wordpress würde ich mir das Plugin https://wordpress.org/plugins/advanced-cf7-db/ laden damit kannst CSV erstellen und exportieren diese dann wiederum in Ninox impoertieren.
-
Gar nicht - ich kann so jedes Webmail-Postfach mit 2 Mausklicks importieren - natürlich einzeln die Mails...
-
Hi Dirk, tolle Idee. Ich mache aber irgendetwas falsch. Bekomme Fehlermeldungen. Kannst du die Datenbank einmal anhängen, das ich suchen und vergleichen kann, wo mein Fehler liegt.
gruss Knicky
-
Hey habe das ganze jetzt mit der api realisiert. Werde dazu auch noch einen Eintrag machen. Das ganze funktioniert so die Kontaktanfragen werden direkt in Ninox gespeichert. Die API kommt erst mit dem kommenden Ninox Update, also noch ein wenig Geduld.
-
Hallo Dirk wie lautet der Ansatz um eine Webseite einzubinden.
"In NinoxDB binde ich rainloop in einem iFrame in ein Berechnungsfeld html([URL]) ein."
würde gerne etwas versuchen
-
habe es gefunden um Sendungenabzufragen
html("<iframe src=' https://www.paketda.de/paketverfolgung-iframe.php?lang=en ' width='100%' height='100%'</iframe>")
gruss Wolf
Content aside
-
1
„Gefällt mir“ Klicks
- vor 4 JahrenZuletzt aktiv
- 14Antworten
- 5937Ansichten
-
1
Folge bereits