Autor Thema: Mail schließen ohne das Fenster "Mail senden" zu erhalten  (Gelesen 3887 mal)

Offline markus_mgd

  • Frischling
  • *
  • Beiträge: 8
Liebe Gemeinde,

ich verzweifele daran eine Mail zu schließen ohne das Fenster "Mail senden" zu erhalten. Ich hoffe es gibt da eine Lösung.

Worum geht es?

Es soll mittels Agent alle markierten Mails im Eingang einer DB beantwortet werden, wobei alle den gleichen Antworttext (Standardantwort) erhalten sollen. Die Auswahl dieses Texts erfolgt über eine Liste von Memo-Vorlagen (Stationery). Am Ende wird das Feld ZuVersenden auf 1 gesetzt, dessen Exisitenz ein zweiter Agent in regelmäßigen Abständen prüft und ggf. die aufgelaufenen Mails verschickt. Das klappt auch alles soweit ganz perfekt, jedoch bleibt am Ende immer noch eine Mail geöffnet, welche noch nicht den Text aus der Vorlage enthält. Ich habe versucht diese Mail über das NotesUIDocument newdoc zu schließen, doch dabei bekomme ich immer das Fenster "Mail senden" mit den Buttons "Senden und Speichern", "Nur Senden" usw.  angezeigt.

Und genau diese Fenster soll nicht auftauchen. Bitte um Hilfestellung.

Beste Grüße
Markus

Der Code folgt:

Sub Initialize
   Dim uiws As New NotesUIWorkspace
   Dim replytodoc As NotesUIDocument
   Dim newdoc As NotesUIDocument
   Dim Vorlage As NotesDocumentCollection
   Dim doc2 As NotesDocument
   Dim db As NotesDatabase
   Dim session As New NotesSession
   Dim collection As NotesDocumentCollection
   Dim doc As NotesDocument
   
   Set db = session.CurrentDatabase
   Set noteCursorDoc = session.currentdatabase.createdocument
   Set Vorlage = uiws.Picklistcollection(PICKLIST_CUSTOM, False, db.server, db.filepath, "Stationery", "Auswahl der Mailvorlage", "Bitte Vorlage aus Liste auswählen")
   Set noteCursorDoc = Vorlage.getfirstdocument
   Set StandardAntwort = noteCursorDoc.getfirstitem("Body")
   Set collection = db.UnprocessedDocuments
   Set doc = collection.GetFirstDocument()
   
   While Not(doc Is Nothing)
      Set replytodoc = uiws.editdocument(False,doc)
      Set newdoc = uiws.ComposeDocument("","","Reply with history")
      Call newdoc.save
      Call replytodoc.Close(True)
      
      Set doc2 = newdoc.document
      Set OriginalMail = doc2.getfirstitem("Body")
      Set body2 = New NotesRichTextItem(doc2,"Body2")
      Call body2.appendrtitem(OriginalMail)
      Call doc2.removeitem("body")
      
      Set rt = New NotesRichTextItem(doc2,"Body")
      Call rt.appendrtitem(StandardAntwort)
      Call rt.appendrtitem(body2)
      Call doc2.removeitem("body2")
      doc2.ZuVersenden="1"
      doc2.save True, True
      doc2.saveoptions="0"
      
   'Bis hierhin OK
      ' Das Problem ist die Mail, welche manuell geschlossen werden muss
      Call newdoc.Close(True)
      
      Call session.UpdateProcessedDoc(doc)
      Set doc = collection.GetNextDocument(doc)
   Wend
End Sub

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Mail schließen ohne das Fenster "Mail senden" zu erhalten
« Antwort #1 am: 29.06.11 - 11:02:35 »
Warum machst Du das über das Frontend und nicht über das Backend?

Bernhard

Offline markus_mgd

  • Frischling
  • *
  • Beiträge: 8
Re: Mail schließen ohne das Fenster "Mail senden" zu erhalten
« Antwort #2 am: 29.06.11 - 11:13:11 »
An der Umsetzung von Frontend in Backend hatte ich mir schon vorher mal die Zähne ausgebissen. Meine Kenntnisse sind leider ziemlich schlecht was Frontend / Backend angeht. Mein Code ist aus verschiedenen Codes zusammenkopiert.

Vielleicht kannst du mir sagen, was ich dann genau umstellen muss. Ich wäre dir sehr dankbar.

Markus

Offline markus_mgd

  • Frischling
  • *
  • Beiträge: 8
Re: Mail schließen ohne das Fenster "Mail senden" zu erhalten
« Antwort #3 am: 29.06.11 - 11:46:02 »
@Bernhard

Also vielleicht noch mal deutlicher gefragt.
Wie kann ich denn
     Set newdoc = uiws.ComposeDocument("","","Reply with history")
von Frontend auf Backend umstellen?

Markus

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Mail schließen ohne das Fenster "Mail senden" zu erhalten
« Antwort #4 am: 29.06.11 - 11:50:29 »
Das wäre eine Kombination aus
- NotesDatabase.CreateDocument
- erforderliche Items belegen
- Rückantworttext im Body erzeugen (NotesRichtextItem.AppendText etc.)
- "Ankleben" des Ursprungs-Mailbodys (NotesRichtextItem.AppendRTItem)

HTH,
Bernhard

Offline markus_mgd

  • Frischling
  • *
  • Beiträge: 8
Re: Mail schließen ohne das Fenster "Mail senden" zu erhalten
« Antwort #5 am: 29.06.11 - 11:52:16 »
Danke für deine Antwort. Ich werde mal mein Glück versuchen.

Bis dann
Markus

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Mail schließen ohne das Fenster "Mail senden" zu erhalten
« Antwort #6 am: 29.06.11 - 12:01:23 »
im Frontend hat das wirklich nichts zu suchen... Aber wenn Du das mal wirklich brauchst, dann experimentier mal mit den Feldern SaveOptions = "0" bzw. MailOptions = "0"...

Gruss
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline markus_mgd

  • Frischling
  • *
  • Beiträge: 8
Re: Mail schließen ohne das Fenster "Mail senden" zu erhalten
« Antwort #7 am: 29.06.11 - 12:52:47 »
 :) Danke Tode!

Ich habe doch über Frontend lösen müssen und einfach nur
    doc2.MailOptions="0"
und
    Call newuidoc.Refresh
eingebaut.

Ist sicherlich nicht schön, aber genau das was ich brauche.

Markus

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz