Hallo zusammen,
ich habe eine Discussion Datenbank bei der bei eingehender Mail automatisch eine Antwortmail generiert wird. Die Antwort soll ca. 30 Zeilen lang werden. Wie stelle ich das am aller besten an ? Man kann ja den Body einer Mail als String übergeben. Nur wie bekomme ich das mit der Formatierung hin (Zeilenumbruch, einrücken etc.) Ich weiß das es für die Formatierung Sonderzeichen gibt die in den String mit eingebaut werden. Aber kann man nicht irgendwie eine Vorlage erstellen die dann aufgerufen wird ? Wie würdet Ihr vorgehen ? bin für jeden Ansatz dankbar.
Beiträge von Schocke
-
-
Zitat
Das kenne ich nur wenn ich es über die console des admin client eingebe und keine 'live'-console anhabe.Ja jetzt kommen wir der Sache schon näher. Wie gesagt über den Adminclient wenn Live abgeschaltet ist. Wobei dann in den Logfiles steht wer den Befehl ausgeführt hat. Dieses kann ich aber bei meinen vielen Einträgen nicht erkennen wer den Befehl ausführt. Kann es sein das sich jemand von außerhalb meinen Server hacken möchte ?
Wir haben nämlich den Port 1352 von außen her offen, damit sich unsere Außenndienst Mitarbeiter mit ihren Notebook connecten können. -
<<also entweder gibt da einer was über die console ein oder es gibt vielleicht ein programm dokument was um die uhrzeit ausgeführt wird.>>
Wie meinst Du das mit der Console ? Direkt am Server oder mit dem Admin Client ?
Im Programmdokument steht nur "compact -B" kann es also nicht sein.
Was für eine Befehl muß ich in der Console eingeben um so einen Logeintrag erzeugen zu können ? -
Hallo zusammen,
ich habe Logeinträge die immer zur selben Zeit (zwischen 22-23 Uhr) auftauchen. Hier der Logeintrag:> DBCACHE FLUSH
Command has been executed on remote server. Use 'Live' console option, in future, to view response from server.Dieser Eitrag kommt ca. 100 mal hintereinander, dann ist Ruhe.
Kann jemand von euch damit etwas anfangen ?Server 6.5.1 English auf W2K Server English
mfg
Schocke -
So bei anderen Feldern funktionieren die Formeln einwandfrei, nur nicht bei "X_bmifolder". So wie es aussieht sagt die Funktionen das das Feld "X_bmifolder" nicht existiert, obwohl ich es unter Document Properties -> Fields sehen kann. Hat einer eine Idee warum das so ist ?
mfg
Schocke -
Glaube dir schon das die Formeln bei dir funktionieren, nur ich mache höchstwahrscheinlich irgendwas verkehrt muß mich malauf die Suche begeben
mfg
Schocke -
Beide Formeln funktionieren nicht. Es wird immer so angezeigt als ob das feld X_bmifolder nicht existiert, obwohle ich ganz klipp und klar Dokumente habe wo das Feld existiert. Können Felder eventuell vor bestimmten @Funktionrn versteckt werden ?
Hie noch einmal der Sourcecode vom Agent der die Spammails verschiebt.
Code
Alles anzeigenSub Initialize Dim session As New NotesSession Dim db As NotesDatabase Dim form As NotesForm Dim foldername As String Set db = session.CurrentDatabase Set form = db.GetForm("BMIAntiSpam") infolist = form.FormUsers SpamFolder = infolist(0) Set note=session.DocumentContext %REM REM If this message has Spam Header, store in Spam Folder Following is for debug--unrem if needed Then turn the agent into a manual run from the agent menu and highlight a spam doc to test If note.HasItem( "X_bmiFolder" ) Then Messagebox _ ( "This doc is Spam." ) Else Messagebox _ ( "There is no Spam header on this document." ) End If %ENDREM ' The Following line is PREVIOUS CODE ' It was replaced to ensure that potential spammers couldn't get around the marker 'If note.X_bmiFolder(0) = "1" Then If note.HasItem( "X_bmiFolder" ) Then Call note.PutInFolder(SpamFolder) Call note.RemoveFromFolder("($InBox)") End If End Sub REM PutInFolder leaves a message in the Inbox view as well. REM Since we want to have it only in the Spam Folder we need REM to remove it from the inbox
also ich verstehe nicht warum die Funktionen nicht richtig arbeiten
-
Das Feld wir nur hinzugefügt wenn es sich um eine Spammail handelt
mfg
Schocke -
Bei welchem Feld ist mir eigentlich egal. Wenn eine Mail als Spam erkannt wird wird das Feld "X_bmifolder" angelegt ansonsten nicht. Worauf dabei der Agent achtet weiß ich nicht. Es muß doch aber möglich sein anhand der Existenz dieses Feldes die ganze sache herauszufiltern.
mfg
Schocke -
Wenn ich die Formel wie von dir vorgeschlagen eintrage so bekomme ich wieder alle Dokumente angezeigt. Hier einmal die Werte von "X_bmifolder"
Field Name: X_bmifolder
Data Type: RFC822 Text
Data Length: 31 bytes
Seq Num: 1
Dup Item ID: 0
Field Flags:
RFC822 Type: TEXT
RFC822 Flags: STRICT
Native Value:"1"
RFC822 Header Name:
"X-bmifolder"
RFC822 Header Delimiter:
": "
RFC822 Header Body:
31 0D 0A 1..
andere Ideen ?
-
Vielen Dank für eure Antworten. Habe mir schon gedacht das das nicht ganz so schwer sein wird. Nur leider bekomme ich es immer noch nicht hin.
In der Auswahlformel habe ich jetzt folgendes stehen:
SELECT @All & @Trim(@Text(X_bmifolder)) = ""
zeigt mir immer noch alle Dokumente an. Das Feld "X_bmifolder" existiert auf jeden Fall. Was mache ich jetzt noch falsch ?
-
Hallo Forum,
ich habe hier eine Discussion Datenbank in der viele Spammails eingehen. Deshalb habe ich einen Spamfilter von Brightmail im einsatz der per Agent diese Spammails in einen eigenen Ordner Verschiebt. Mein Problem ist jetzt das die Discussion Datenbank standartmäßig auf all Documents steht, und von daher die Spammails zwar in den Spam Ordner verschoben werden aber bei all Documents natürlich wieder auftauchen. Ich möchte jetzt eine neue Ansicht erstellen bei dem diese Spammails nicht mehr angezeigt werden.
Bei den Spammails wird bei den Document Properties unter Fields ein Eintrag X_bmifolder angelegt.
Da ich mich mit der Programmierung unter Lotus Notes nicht ganz so gut auskenne, würde ich mich freuen wenn Ihr mir Lösungsansätze geben würdet damit ich das hinbekommen kann.mfg
Schocke -
Suuuper :strike:
Und nochmals Danke fuer deine Hilfe. Jetzt habe ich es endlich so wie ich es haben möchte und auch wieder ein bischen über Notes Programmierung gelerntmfg
Schocke -
OK da das nicht funktioniert habe ich jetzt anstatt eine neue Spalte hinten anzufügen ein Spalte am Anfang eingefügt.
Und siehe da wenn ich da das Feld Mailflag zuweise komme ich an meine DatenWarum das anders nicht funktioniert bleibt mir ein Rätsel :-?
Da ich da aber nicht Zahlen stehen haben möchte sondern ein Icon kann ich doch bestimmt mit Formeln der Spalte ein Icon zuweisen. Wie geht das?
mfg
Schocke -
das funktioniert schon einmal. Wenn ich das richtig sehe brauche ich dann keine zusätzliche Spalte.
Nur anstatt "nur" den Zahlenwert hereinzuschreiben kann ich irgendwie über eine If abfrage ein Icon anstatt der Zahl einfügen ?
Hätte nicht gedacht das das so kompliziert werden kann. würde ich ohne Hilfe im Leben nicht hinbekommenmfg
Schocke -
ja da steht etwas und zwar unter Formeln:
REM {Variables to translate};
PrivateTxt := "PRIVATE: ";
ExpiredTxt := "EXPIRED: ";
AnonTxt := "Anonymous";
REM {End variables to translate};
REM {the following is for alternate name support};
CNFrom := @If(@Contains(form; "Anonymous"); AnonTxt;@Name([CN]; From));
CNAltFrom := @Name([CN]; AltFrom);
Alternatename := @If(AltFrom != "" & AltFrom != From; " [" + CNAltFrom + "]"; "");@If(readers != ""; PrivateTxt; ExpireDate != ""; ExpiredTxt; "") + @If(Subject != ""; Subject + " "; "") + "(" + CNFrom + AlternateName + " " + @Text(@Created; "D2S0") + ")"
nur kann ich damit nicht allzuviel anfangen. Wie und wo muß da was geändert werden ?
mfg
Schocke -
das der Wert Mailflag nur in einem Antwortdokument zu finden ist ist Klar. Nur wenn ich jetzt ein Antwortdokument erstelle und sage es soll keine Antwortmail geschrieben werden so fehlt Mailflag in den Document Properties. Wenn ich das Mail senden bestätige so ist in den Document Properties Mailflag vorhanden mit dem Richtigen Wert. Wird denn nicht durch den Eintrag "Computed when compose" der Wert in das Dokument eingetragen ?
Die Spalte wo in den Eigenschaften "show responses only" steht habe ich gefunden, nur wo finde ich die Definitionen was alles Angezeigt werden soll ?
mfg
Schocke -
habe jetzt beim Debuggen den Wert von Mailflag gefunden und er passt. Also muß ich mit der Spalte irgendwas verkehrt machen
-
funktioniert leider nicht.
Ich lege eine neue Spalte an und weise dieser Spalte das Feld Mailflag zu, es wird aber nichts angezeigt. Wie kann ich am besten überprüfen was in dem Feld Mailflag überhaupt steht (finde Mailflag noch nicht einmal beim Debuggen) ?mfg
Schocke -
Hier mein Sourcecode:
Sub Click(Source As Button)
Dim session As New NotesSession
Dim current As NotesDatabase
Dim mailbox As New NotesDatabase("","")
Dim maildoc As NotesDocument
Dim rtitem As NotesRichTextItem
Dim session1 As New NotesSession
Dim db As NotesDatabase
Dim nuid As NotesUIDocument
Dim ws As New NotesUIWorkspace
Dim docParent As NotesDocument
Dim docThis As NotesDocument
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = workspace.CurrentDocument
Call uidoc.Save
' Abfrage ob eine Mail an den Kunden geschickt werden soll
If Messagebox("Soll eine Nachricht an den Kunden geschickt werden ?", 4 + 32, "Frage") = 6 Then
' Auslesen der Absenderadresse des Call Erstellers und des Subjects und Body der Mail
Set db = session1.CurrentDatabase
Set nuid = ws.CurrentDocument
Set docThis = nuid.Document
Set docParent = nuid.Document
While docParent.ParentDocumentUNID <> ""
Set docParent = db.GetDocumentByUNID(docParent.ParentDocumentUNID)
Wend
address = docParent.from(0)
subject = "Support wg.: " + docParent.subject(0)
Set docThis = nuid.Document
Forall i In DocThis.Items
If i.name = "Body" Then
body = i.text
End If
End Forall
' get handle to mail.box on the users current mail server
Set current = session.CurrentDatabase
Call mailbox.Open( current.server, "mail.box" )
' Variablen fuellen
sendas = "testsupport@XXXXXX.com"
sendto = address
' Create a new document in the severs mail box
Set maildoc = mailbox.CreateDocument
maildoc.Form = "Memo"
maildoc.From = sendas
maildoc.SendFrom = sendas
maildoc.SendTo = sendto
maildoc.Recipients = sendto
maildoc.Subject = subject
Set rtitem = maildoc.CreateRichTextItem( "Body" )
Call rtitem.AppendText( body )
maildoc.PostedDate = Now()
maildoc.ComposedDate = Now()
maildoc.DeliveredDate = Now()
maildoc.Principal = sendas
maildoc.EncryptOnSend = False
Call maildoc.Save( True, False )
End If
Set uidoc = workspace.CurrentDocument
Call uidoc.Close
End Sub