Autor Thema: Probleme beim automatischen Erstellen einer Mail  (Gelesen 3076 mal)

Offline _Christian_

  • Frischling
  • *
  • Beiträge: 4
Probleme beim automatischen Erstellen einer Mail
« am: 01.04.08 - 15:57:22 »
Hallo zusammen,

ich habe folgendes Problem:

Ich möchte eine Mail auf Knopfdruck erstellen, die Daten aus dem aktuellen Dokument in einerMail öffnet um diese weiterleiten zu können.

Funktioniert soweit ganz gut
Dummerweise schaffe ich es aber nicht den erstellten Text vor der Signatur einzufügen.
Der Text wird immer hinter der Signatur abgedruckt. ???

Kann mir da jemand helfen?

Hier ein Auszug aus meinem Code:

Dim rtitem As NotesRichTextItem
   Set rtitem = New NotesRichTextItem ( mailDoc, "ody" )
   Call rtitem.AddNewline(1)
   Call rtitem.AppendText ("Dear Customer,")
   Call rtitem.AddNewLine(1)
   Call rtitem.AppendText("your registration was successful!")
   Call rtitem.AddNewLine(1)
   Call rtitem.AppendText("Please enter the code below to complete registration.")
   Call rtitem.AddNewline(2)
   Call rtitem.AppendText("User: " + User)
   Call rtitem.AddNewline(1)
   Call rtitem.AppendText("Serial: " + Serial)
   Call rtitem.AddNewline(1)
   Call rtitem.AppendText("Registration Key: " + RegCode)
   
' fill other fields
   
   mailDoc.Subject = "Successful Registration!"
   mailDoc.EnterSendTo = SendTo
   mailDoc.Body = rtitem.GetFormattedText(False,0)

Mfg

Christian
« Letzte Änderung: 01.04.08 - 16:13:08 von _Christian_ »

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Probleme beim automatischen Erstellen einer Mail
« Antwort #1 am: 01.04.08 - 16:22:56 »
Hier fehlen entscheidende Teile des Codes - vor allem ist nicht ersichtlich, was Du noch im Frontend tust (das Einfügen der Signatur ohne Programmierung wäre Frontend!).

Mehr Input, mehr Output.

Bernhard

Offline _Christian_

  • Frischling
  • *
  • Beiträge: 4
Re: Probleme beim automatischen Erstellen einer Mail
« Antwort #2 am: 01.04.08 - 16:27:05 »
Hier mein kompletter Code des Buttons:

Ps: Meine Signatur ist eine htm-Datei die automatisch eingefügt wird.

Sub Click(Source As Button)
' user maildatabase
   Dim userMailDb As Variant
   userMailDb = Evaluate("@MailDbName")
   
' open maildatabase
   Dim mailDb As New NotesDatabase(userMailDb(0), userMailDb(1))
   
' create mail
   Dim wrk As New NotesUIWorkspace
   Dim mailDoc As NotesDocument
   Set mailDoc = mailDb.createDocument()
   
'open current document
   Dim forDoc As NotesUIDocument
   Set forDoc = wrk.CurrentDocument
   
   
   
   
   'get information from current document
   
   Dim user,serial,regcode,sendTo As String
   User = forDoc.FieldGetText("User")
   Serial = forDoc.FieldGetText("Serial")
   RegCode = forDoc.FieldGetText("RegCode")
   SendTo = forDoc.FieldGetText("SentTo")
   
   'create Mailbody (NotesRichTextItem)
   
   Dim rtitem As NotesRichTextItem
   Set rtitem = New NotesRichTextItem ( mailDoc, "ody" )
   Call rtitem.AddNewline(1)
   Call rtitem.AppendText ("Dear Customer,")
   Call rtitem.AddNewLine(1)
   Call rtitem.AppendText("your registration was successful!")
   Call rtitem.AddNewLine(1)
   Call rtitem.AppendText("Please enter the code below to complete registration.")
   Call rtitem.AddNewline(2)
   Call rtitem.AppendText("User: " + User)
   Call rtitem.AddNewline(1)
   Call rtitem.AppendText("Serial: " + Serial)
   Call rtitem.AddNewline(1)
   Call rtitem.AppendText("Registration Key: " + RegCode)
   
' fill other fields
   
   mailDoc.Subject = "Successful Registration!"
   mailDoc.EnterSendTo = SendTo
   mailDoc.Body = rtitem.GetFormattedText(False,0)
   
'open created mail
   wrk.editDocument True,mailDoc
   
End Sub


Ich bräuchte also eine Funktion oder Formel die es mir erlaubt einen Text in die Mail einzufügen, und zwar am Anfang des Body Feldes, da die Signatur schon beim Erstellen einer neuen Mail importiert wird.

Mfg

Christian

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Probleme beim automatischen Erstellen einer Mail
« Antwort #3 am: 01.04.08 - 16:40:58 »
Wenn Du den eigentlichen Mail-Inhalt im Backend erzeugst, musst Du auch die Signatur dort erzeugen. Du hast Dir da ein ziemlich komplexes Thema (Frontend vs. Backend plus RichText) vorgenommen ...

Weiters:
 Dim user,serial,regcode,sendTo As String
Du weisst aber schon, dass nur die Variable "sendto" vom Typ String ist - der Rest ist vom Typ Variant. Das hat zwar mit Deinem problem nichts zu tun, aber sollte dennoch bekannt sein.

Bernhard

Offline _Christian_

  • Frischling
  • *
  • Beiträge: 4
Re: Probleme beim automatischen Erstellen einer Mail
« Antwort #4 am: 01.04.08 - 16:47:02 »
Das würde dann ja heissen, dass jeder, der dieses Feature benutzt, das automatische Anhängen der Signatur deaktivieren muss.
Und ich müsste den Aufruf der Signatur in meinen Code mit hineinnehmen.
Oder kennt jemand eine Lösung mit der man dieses Problem eleganter lösen kann?

Bin für jede Hilfe dankbar

Mfg

Christian

Offline LN4ever

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 505
  • Geschlecht: Männlich
Re: Probleme beim automatischen Erstellen einer Mail
« Antwort #5 am: 01.04.08 - 20:55:03 »
Da du kein Feld form mitgibst, öffnet sich das neue Mail-Dokument mit der Vorgabemaske MEMO. Schrieb doch einfach noch die beiden Zeilen

maildoc.form="Bookmark"
maildoc.~$HideMailHeader="1"

rein. Dann wird keine Signatur gezogen.

Mit den Standard-Bordmitteln ist das der einfachste Weg, die Signatur zu umgehen (du kannst auch die Telefonnotiz nehmen - die zieht auch keine Signatur).

Sonst wird es aufwändig.

Gruß

Norbert
Situs vilate in isse tabernit.

Offline _Christian_

  • Frischling
  • *
  • Beiträge: 4
Re: Probleme beim automatischen Erstellen einer Mail
« Antwort #6 am: 02.04.08 - 11:40:49 »
Vielen Dank für die Tipps...

Hab das Problem auf ne andere Art gelöst:

Öffne das erstellte Mailfile nochmal und schreib die Daten dann rein.
Das rtitem fällt dabei weg

Code:

Dim uiMailDoc As NotesUIDocument
   Set uiMailDoc = wrk.editDocument (True,mailDoc)
   
   Call uiMailDoc.GotoField("Body")
   Call uiMailDoc.InsertText("Dear Customer, " +Chr(10))

Mfg

Christian

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz