Die MIME-Klassen in LotusScript

Der LotusScript-Agent

Listing 1 zeigt einen LotusScript-Agenten, der unter Verwendung verschiedener Eigenschaften und Methoden der Klassen NotesRichTextItem, NotesRichTextTable, NotesRichTextStyle Notes- RichTextNavigator eine E-Mail erstellt. Über die enthaltenen Kommentare können Sie die Funktion der einzelnen Programmzeilen leicht nachvollziehen. Der Empfänger der E-Mail wird im Dialog über eine InputBox vom Anwender bestimmt.

Sub Initialize
Dim se As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim rtItem As NotesRichTextItem
Dim rtStyle As NotesRichTextStyle 'Textformatierung
Dim rtnav As NotesRichTextNavigator 'Tabelle und T-zellen suchen
Dim rtt As NotesRichTextTable 'Tabelle formatieren
Dim farbe As NotesColorObject 'Farbe für Tabelle
Dim empfaenger As String
Dim datei As String
Dim zeilen As Integer, spalten As Integer
Set db = se.CurrentDatabase
'Neues Dokument erstellen
Set doc = New NotesDocument(db)
'Empfänger erfragen
empfaenger = Inputbox("Bitte geben Sie den Empfänger ein", "Senden an",
"Empfänger")
'Standardfelder setzen
Call doc.ReplaceItemValue("sendto", empfaenger)
Call doc.ReplaceItemValue("subject", "RichText-Nachricht aus LotusScript Agent")
'Feld Body erstellen
Set rtItem = New NotesRichTextItem(doc, "body")
'Schriftart Fett einstellen
Set rtStyle = se.CreateRichTextStyle
rtStyle.Bold = True
Call rtitem.AppendStyle(rtStyle)
'Text einfügen
Call rtItem.AppendText("Guten Tag")
'Schriftart Fett aufheben
rtStyle.Bold = False
'Zwei neue Zeilen einfügen
Call rtitem.AddNewline(2)
'Schriftart und -größe bestimmen, Text einfügen
'Textformate zurücksetzen, Weiteren Text ausgeben
rtstyle.FontSize = 24
rtstyle.NotesColor = 120
Call rtitem.AppendStyle(rtStyle)
Call rtitem.AppendText("Hier kommt Spam")
rtstyle.FontSize = 10
rtstyle.NotesColor = 0
Call rtitem.AppendStyle(rtStyle)
Call rtitem.AddNewline(2)
Call rtitem.AppendText("Zuerst ein Anhang")
Call rtitem.AddNewline(1)
'Anhang erstellen , weiteren Text ausgeben
datei = Dir("c:\windows\web\wallpaper\tulpen.jpg", 30)
If datei = "" Then
Msgbox "Anhang kann nicht erstellt werden"
Call rtitem.AppendText("Ohne Anhang")
Else
Call
rtitem.EmbedObject(EMBED_ATTACHMENT,"","c:\windows\web\wallpaper\tulpen.jpg")
End If
Call rtitem.AddNewline(1)
Call rtitem.AppendText("Und nun der Text in einer Tabelle:")
Call rtitem.AddNewline(1)
'Tabelle erstellen
zeilen = 2
spalten = 3
Call rtitem.AppendTable(zeilen, spalten)
'Mit Navigator auf Tabelle zugreifen
Set rtnav = rtitem.CreateNavigator
rtnav.FindFirstElement(RTELEM_TYPE_TABLE)
Set rtt = rtnav.GetElement
'Bereich für Format bestimmen - Solid = alle Zellen
rtt.Style = TABLESTYLE_SOLID
'Farbobjekt erstellen, Farbe setzen und Tabelle zuweisen
Set farbe = se.CreateColorObject
farbe.NotesColor = COLOR_RED
Call rtt.SetColor(farbe)
'Mit Navigator erste Tabellenzelle finden
rtnav.FindFirstElement(RTELEM_TYPE_TABLECELL)
'Alle Zellen durchlaufen, Text einfügen
Do
Call rtitem.BeginInsert(rtnav)
Call rtitem.AppendText("Spam...")
Call rtitem.EndInsert
Loop While rtnav.FindNextElement(RTELEM_TYPE_TABLECELL)
'Dokument senden
Call doc.Send(False)
End Sub

Wird als Empfänger der Nachricht eine EMail- Adresse innerhalb der Notes-Domäne angegeben, erhält die ausgewählte Person eine E- Mail mit den im Programmcode festgelegten Formaten (Bild 1). Bei Auswahl einer InternetMailadresse jedoch werden die Textformate komplett unterdrückt (Bild 2). Der Anhang steht am Ende der Nachricht. Der inhaltliche Bezug zur ursprünglichen Position wird nur noch über den automatisch eingefügten Linktext hergestellt. Tabellen werden zwar erkannt und übertragen, tabellenspezifische Formatierungen gehen jedoch ebenfalls verloren.

Bild 1: Die Mail mit den im Programmcode festgelegten Formaten.
Bild 1: Die Mail mit den im Programmcode festgelegten Formaten.
Bild 2: Die Mail mit unterdrückten MIME-Formaten.
Bild 2: Die Mail mit unterdrückten MIME-Formaten.

Damit Formatierungen zur Gestaltung der Nachricht genutzt werden können, muss der Standard Multipurpose Internet Mail Extensions (MIME) beim Versand verwendet werden. Wie Sie mit LotusScript MIME-Nachrichten erstellen, wird nachfolgend gezeigt.