Autor Thema: Agenten um Betreff zu ändern  (Gelesen 11471 mal)

Offline KilleKalle

  • Frischling
  • *
  • Beiträge: 13
Agenten um Betreff zu ändern
« am: 29.02.12 - 11:09:18 »
Hallo zusammen,

ich möchte einen Agenten erstellen, der Immer eine Nachricht auf Betreff überprüft und den Betreff ändert.

Als Beispiel:

Betreff: User hat sich eingeloggt

User xyz hat sich soeben eingeloggt.

Der Betreff ist immer gleich!
Nun sollte der Agent den Betreff erkennen, den Usernamen aus der eMail auslesen und im Betreff anhängen.

Wie stell ich das an?


LG KilleKalle

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Agenten um Betreff zu ändern
« Antwort #1 am: 29.02.12 - 11:15:49 »
Hallo,

Langsam zum mitschreiben.

1. Agent in einer Mailbox
2. wenn Mail ankommt, pruefen, ob im Betreff 'User hat sich eingeloggt'
3. wenn Ja, dann aus dem Text der Mail den Namen des Benutzers auslesen.
4. Betreff um den ermittelten Benutzernamen erweitern und Mail speichern.

Wie willst Du den Punkt 3. realisieren?
Woran soll der Agent erkennen, was im Text der Mail der Benutzername ist?


Andreas

Offline KilleKalle

  • Frischling
  • *
  • Beiträge: 13
Re: Agenten um Betreff zu ändern
« Antwort #2 am: 29.02.12 - 11:30:46 »
Hallo,

ich dachte, dass man, da der Inhalt immer der selbe ist, irgendwie den Username sondieren könnte.

z.B. durch ein Trim ?

Ansonsten könnte ich mir noch vorstellen, dass man da es derzeit nur 15 unterschiedliche Benutzer gibt, nach diesen Worten sucht.
Allerdings wäre das müssig, falls man neue User anlegt, müsste man auch immer den Agenten anpassen...

KilleKalle



Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Agenten um Betreff zu ändern
« Antwort #3 am: 29.02.12 - 11:38:46 »
Von wem werden die Mails denn erstellt?

Kann man denn nicht bereits hier ansetzen?


Andreas

Offline KilleKalle

  • Frischling
  • *
  • Beiträge: 13
Re: Agenten um Betreff zu ändern
« Antwort #4 am: 29.02.12 - 11:40:23 »
Nein, leider nicht.
Die Mails werden automatisch von einer Cisco ASA erstellt, leider hat man da nicht die Möglichkeit das schon im Vorfeld zu ändern.


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Agenten um Betreff zu ändern
« Antwort #5 am: 29.02.12 - 11:47:06 »
Das kann man sauber herausschneiden:
- erst @Middle (ab n Zeichen bis zum Namen)
- dann @Left mit Parameter " hat"

Bernhard

Offline KilleKalle

  • Frischling
  • *
  • Beiträge: 13
Re: Agenten um Betreff zu ändern
« Antwort #6 am: 29.02.12 - 11:58:24 »
Wieso denn dann noch ein left?

Mit dem middle kann ich doch den Offset, der immer gleich ist, schon an den Anfang des Usernamen gehen.
Oder lieg ich da falsch?

Ich hatte das nun so gedacht? (Nicht erschlagen ;o))

Code
FIELD subject:=subject;
FIELD message:=message;

TempSubject:=@if(@Contains(subject;"ASA Alert (ASA-101)"););
TempUser:= @Trim(@middle(message;66;10););

@prompt([ok];"Neuer Betreff";@SetField("subject";TempSubject && TempUser););

@SetField("subject";TempSubject && TempUser);

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Agenten um Betreff zu ändern
« Antwort #7 am: 29.02.12 - 12:19:54 »
Dann lautet
a) der Messagetext anders als hier gepostet und
b) schon mein Name hat mehr als 10 Zeichen und
c) wozu das @Trim und
d) in der TempUser := -Zeile ist ein Semikolon zu viel.

Bernhard

Offline KilleKalle

  • Frischling
  • *
  • Beiträge: 13
Re: Agenten um Betreff zu ändern
« Antwort #8 am: 29.02.12 - 12:25:14 »
zu a) Ja, der Messagetext ist ein anderer, war ja auch als Beispiel deklariert.
zu b) Die Namen sind tatsächlich unterschiedlich lang, aber bekommt man das so variabel hin?
zu c) Das Trim war natürlich falsch geklaut ;o)
zu d) wieso ein Semikolon zuviel? @middle(string;offset;charaters)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Agenten um Betreff zu ändern
« Antwort #9 am: 29.02.12 - 12:28:45 »
Zu b) Vielleicht schreibst Du mal den richtigen Text auf??
Zu d) TempUser:= @Trim(@middle(message;66;10););

Offline KilleKalle

  • Frischling
  • *
  • Beiträge: 13
Re: Agenten um Betreff zu ändern
« Antwort #10 am: 29.02.12 - 13:28:33 »
Ok...

also die nachricht sieht wie folgt aus:

Betreff:ASA Alert (ASA-101)

<165>Feb 29 2012 11:31:39: %ASA-5-713000: Group = pez, Username = XXXX, IP = 82.100.20.42, PHASE 2 COMPLETED (msgid=f4ecbd1c)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Agenten um Betreff zu ändern
« Antwort #11 am: 29.02.12 - 13:31:56 »
Jetzt sieht das ja ganz anders aus und der @Middle-Versuch erscheint noch abwegiger.

Ein @Right ab "Username = " und dann ein @Left bis zum Komma.

Bernhard

Offline KilleKalle

  • Frischling
  • *
  • Beiträge: 13
Re: Agenten um Betreff zu ändern
« Antwort #12 am: 29.02.12 - 13:38:17 »
Du meinst dann so?

Code
FIELD Subject:=Subject;
FIELD Message:=Message;

TempSubject:=@If(@Contains(Subject;"ASA Alert (ASA-101)"));
TempUser:= @Right(message;"Username = ");
TempUser:= @Left(TempUser;", IP");

@prompt([ok];"Neuer Betreff";"@SetField(Subject;TempSubject  && TempUser"));
@SetField(Subject;TempSubject && TempUser);

Offline KilleKalle

  • Frischling
  • *
  • Beiträge: 13
Re: Agenten um Betreff zu ändern
« Antwort #13 am: 29.02.12 - 15:01:07 »
Hmmm,

nun stellt sich mir ein neues Problem in den Weg :-/

Ich habe nun folgendes:
Code
Field Subject:=Subject;
Field Body:=Body;

@If(@Contains("Subject";"ASA Alert (ASA-101)"));
TempSubject:=Subject;

@If(@Contains("Body";"Username ="));
TempUser:= @Right(Body;"Username = ");
TempUser:= @Left(TempUser;", IP");
TempUser:= " - " + TempUser;
@SetField("Subject";Subject  + TempUser);

SELECT @All

Soweit funktioniert es auch, solange ich es nur auf die Mails Anwende, die eben diesen Betreff haben, alle anderen werden ebenfalls bearbeitet, allerding werden die Mails dann Zerstört und es steht im Betreff eine Fehlermeldung: FEHLER: Falscher Datentyp für Operator oder @Funktion: Text erwartet

Ich dachte durch die IF Bedingung habe ich dem Script schon gesagt, dass es nur auf die ASA Meldungen reagieren soll?!?


LG KilleKalle

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Agenten um Betreff zu ändern
« Antwort #14 am: 29.02.12 - 15:03:25 »
Der Agent arbeitet aber danach weiter.

An welcher Stelle soll er denn die Arbeit einstellen?
(Abbruchkriterium)


Andreas

Offline KilleKalle

  • Frischling
  • *
  • Beiträge: 13
Re: Agenten um Betreff zu ändern
« Antwort #15 am: 29.02.12 - 15:05:01 »
Wenn der Betreff nicht ASA Alert (ASA-101) ist, soll der mit der Mail nichts machen!
Aber es gibt ja kein Else...

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Agenten um Betreff zu ändern
« Antwort #16 am: 29.02.12 - 15:07:55 »
Du solltest vielleicht doch erstmal in der DesignerHelp nachlesen, bevor Du blind @functions benutzt. Das Dir abnehmen und vorkauen werden wir ganz sicherlich nicht.

Bernhard

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Agenten um Betreff zu ändern
« Antwort #17 am: 29.02.12 - 15:11:08 »
In der Formelsprache sieht die Syntax der @If - anweisung so aus

@if(Bedingung; Anweisung bei Bedingung erfüllt; Anweisung bei Bedingung nicht erfüllt),

Wenn ich mir deine IF-Anweisung so anschaue, ist die völlig für die Katz. Es gibt zwar eine Bedingung, aber keinerlei Anweisungsen. Der Code im Anschluß wird immer ausgeführt.

Eine Alternative wäre die hier:

...
@If(@Contains("Subject";"ASA Alert (ASA-101)"); ""; @Return(""));
...


Axel
« Letzte Änderung: 29.02.12 - 15:13:49 von Axel »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline KilleKalle

  • Frischling
  • *
  • Beiträge: 13
Re: Agenten um Betreff zu ändern
« Antwort #18 am: 29.02.12 - 16:59:34 »
Dann müsste es ja prinzipiell so aussehen...
Code
FIELD Subject:=Subject;
FIELD Body:=Body;

@If(@Contains("Subject";"ASA Alert (ASA-101)");@If(@Contains("Body";"Username =");
(TempSubject:=Subject) & (TempUser:= @Right(Body;"Username =")) & 
(TempUser:= @Left(TempUser;", IP")) & (TempUser:= " - " + TempUser) & 
(@SetField("Subject";TempSubject + TempUser));@Nothing);@Nothing);

SELECT @All


EDIT BK: Code-Zeile auf sinnige Breite gesetzt.
« Letzte Änderung: 29.02.12 - 17:08:16 von koehlerbv »

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Agenten um Betreff zu ändern
« Antwort #19 am: 29.02.12 - 17:00:46 »
Warum?

Axel hat Dir doch schon einen Ansatz gezeigt.

Auch muesstest Du bei der Verkettung von mehreren Anweisungen im @If Dich noch ein wenig mit der
Function @Do auseinandersetzen.


Andreas
« Letzte Änderung: 29.02.12 - 17:02:49 von ascabg »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz