Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: alkuhn am 14.08.04 - 19:17:28

Titel: Body-Feld einer Mail nach Stichworten durchsuchen
Beitrag von: alkuhn am 14.08.04 - 19:17:28
Hallo,

ist es möglich das Body-Feld einer E-Mail nach bestimmten Wörtern zu durchsuchen?

Meine Überlegung:
Wir haben bei uns Snapware im Einsatz mit einer Verbindung zu Notes. Wenn man heute eine E-Mail erhält, dann hat man in geschäftlichen E-Mails fast immer einen Footer, der die Telefonnummer enthält. Nun möchte ich eine Schaltfläche, mit der man die entsprechende Person zurückrufen kann. Dazu möchte ich die E-Mail nach den Wörtern Phone, Telefon, Fon usw. durchsuchen und dann die Zahlen hintern den Wörtern in einer bzw. mehreren Variablen abspeichern und die Verbindung aufbauen.

Geht das? Kann mir jemand einen Tipp geben, wie ich den Body durchsuche und die Werte bzw. Ziffern für die Telefonnummer erhalte?

Vielen Dank für jeden Tipp.
Titel: Re:Body-Feld einer Mail nach Stichworten durchsuchen
Beitrag von: TMC am 14.08.04 - 19:31:12
Geht meine ich schon.
Gerade die Formelsprache bietet einiges für String-Akrobatiken.

Erstmal musst Du den Bodyfeld-Inhalt in ein String bekommen:
Guckst Du @Abstact.

Den Rest findest Du ebenso in der Designerhilfe (@Left, @Right und Kollegen).

100% zuverlässig wird das aber nie sein.
Titel: Re:Body-Feld einer Mail nach Stichworten durchsuchen
Beitrag von: alkuhn am 14.08.04 - 19:40:13
Danke für die schnelle Antwort!! Ich probiere es mal aus. Ich glaube auch, dass es wohl nicht immer 100%-tig funktionieren wird. Noch eine Frage, wie kann ich, wenn ich einen Treffer gefunden habe, nach der nächsten Nummer suchen? Bei einem Treffer könnte ich es mir noch vorstellen mit den Befehlen, die Du mir genannt hast, aber wie geht es dann weiter, falls es weitere Nummern bzw. das Wort "Telefon" gibt? Könntest Du mir da auch noch einen Tipp geben?
Titel: Re:Body-Feld einer Mail nach Stichworten durchsuchen
Beitrag von: animate am 14.08.04 - 19:49:27
evtl mit Javascript und regular expressions?

http://www.sns1.de/partner/flamme/wflamme.nsf/Shortcut/ExtractDateTime1
Titel: Re:Body-Feld einer Mail nach Stichworten durchsuchen
Beitrag von: TMC am 14.08.04 - 19:49:53
Noch eine Frage, wie kann ich, wenn ich einen Treffer gefunden habe, nach der nächsten Nummer suchen? Bei einem Treffer könnte ich es mir noch vorstellen mit den Befehlen, die Du mir genannt hast, aber wie geht es dann weiter, falls es weitere Nummern bzw. das Wort "Telefon" gibt? Könntest Du mir da auch noch einen Tipp geben?

Weiß ich jetzt nicht auswendig. Aber ich glaub es gibt da auch @Formeln um die Position eines Teilstrings rauszufinden. Danach könntest Du dann alles rechts davon nehmen, und mit @Left weitermachen.
Schau Dir wirklich mal alle @Functions in der Designer-Hilfe durch.
Titel: Re:Body-Feld einer Mail nach Stichworten durchsuchen
Beitrag von: TMC am 14.08.04 - 19:52:13
evtl mit Javascript und regular expressions?

http://www.sns1.de/partner/flamme/wflamme.nsf/Shortcut/ExtractDateTime1

Das ist evtl. auch eine coole Alternative. Ich wusste in irgend einem Domino-Blog hatte ich mal was gelesen, aber konnte es überhaupt nicht mehr zuordnen  ;)
Titel: Re:Body-Feld einer Mail nach Stichworten durchsuchen
Beitrag von: Marinero Atlántico am 14.08.04 - 22:02:14
evtl mit Javascript und regular expressions?

http://www.sns1.de/partner/flamme/wflamme.nsf/Shortcut/ExtractDateTime1

Oder mit Java und Regular Expressions. Für Java 1.3 gibt es apache.jakarta Projekte. In 1.4 ist es sowieso da und besser implementiert als in den Open Source Packages.

Ich nähere mich dem Thema auch gerade und es hat eine gewisse Lernkurve.

Vielleicht sollte man dieses Thema mal mit praktischen Code vertiefen.
Wobei das von Alkuhn gepostete Beispiel in der freien Wildbahn sicher nicht einfach zu lösen ist, da die Formatierungen der Telefon, etc. Informationen nicht standardisiert sind und sehr unterschiedlich sein können. Hat die Gefahr, dass sich das dann in eine mittlere KI Anwendung auswächst.

Gruß Axel
Titel: Re:Body-Feld einer Mail nach Stichworten durchsuchen
Beitrag von: alkuhn am 15.08.04 - 17:02:37
Danke für die ganzen Infos. Bei meiner Idee war ich wohl ziemlich naiv. Aber ich werde es trotzdem mal versuchen, weil die Lösung echt klasse wäre.

Viele Grüße
Titel: Re:Body-Feld einer Mail nach Stichworten durchsuchen
Beitrag von: Tode am 18.08.04 - 14:37:54
Wenn man die Formelsprache beherrscht, dann kriegt man das auch ohne Javascript u.ä. und sogar OHNE Schleifen hin...

Nehmen wir an, das ist unser Text (den haben wir per @Abstract schon aus dem Body- Feld gezogen): (in der Variablen "mailtext")

Sehr geehrter Hans wurst,
ich stimme ihnen voll zu.
Rufen sie mich zurück unter Tel.: 0171234567
MfG
Sonstwer

Tel. priv: 07777/77777
Tel. gesch: 07777/88888
Mobil: 0171/234567

Jetzt geht die Trickserei los:

kenner := "Tel." : "Phone" : "Telefon" : "Fon" : "Mobil";
kenner2 := "|~" + kenner;
gutZeichen := "0" : "1" : "2" : "3" : "4" : "5" : "6" : "7" : "8" : "9" : "/" : "-" : "(" : ")" : "+";
x1 := @ReplaceSubstring( mailtext ; kenner ; kenner2 );
x2 := @Explode( x1 ; "|" : @Char( 0 ) : @Char( 10 ) : @Char( 13 ) );
x3 := @Right( x2 ; "~" );
x4 := @Trim( x3 );
x5 := @Trim( @ReplaceSubstring( x4 ; gutZeichen ; "" ) );
x6 := @Explode( x5 ; " " );
x7 := @ReplaceSubstring( x4 ; x6 ; "" );
ergebnis := @Trim( x7 );

@Prompt( [Ok] ; "Ergebnis" ; @Implode( ergebnis ; "#" ) );

So, normalerweise liefere ich zu so einer Formel auch noch eine Schritt- für- Schritt- Erklärung, aber ein wenig Spass sollt Ihr ja auch noch haben... ;)

HTH
Tode
Titel: Re:Body-Feld einer Mail nach Stichworten durchsuchen
Beitrag von: alkuhn am 18.08.04 - 14:58:54
Hi Tode,

vielen Dank für Deine Hilfe. Das ist ja super. Ich teste jetzt mal herum.

DANKE