Code
#cs
Routine zum Schreiben / Senden von Mails mit Methoden von Lotus Notes
Test auf Windows 7 / 64, AutoIT 3.3.14, Lotus Notes 8.5
Variablen:
$recipient - Empfänger - String
$subject - Betreff - String
$bodytext - Mailtext - String
$attachment - Mailanhang - String
$saveit - Speichern? - Boolean
#ce
Func SendNotesMail($recipient, $Subject, $bodytext, $attachment, $saveit)
$Session = ObjCreate("Notes.NotesSession") ; Session in LoNo starten. Wenn LoNo nicht läuft wird es gestartet und Kennwort abgefragt
$UserName = $Session.UserName ; LoNo Username aus Session holen
$Maildb = $Session.GETDATABASE("", "") ; LoNo Datenbankobjekt erstellen
$Maildb.OPENMAIL() ; Mail-DB des Nutzers auf Datenbankobjekt legen (wird aus der aktuellen LoNo-Arbeitsumgebung geholt)
$MailDoc = $Maildb.CREATEDOCUMENT ; Neues Backend-Dokument in Mail-DB erstellen
$MailDoc.Form = "Memo" ; Dokumenttyp auf "Memo" - Mail setzen
$MailDoc.From = $UserName ; Absender setzen
$MailDoc.sendto = $recipient ; Empfänger setzen
$MailDoc.Subject = $Subject ; Betreff setzen
$MailDoc.SAVEMESSAGEONSEND = $saveit ; Dokument speichern? (im Ordner "Gesendet" der Mail-DB ablegen?)
$MailDoc.PostedDate = _Now() ; Zeitangabe wann das Dokument gesendet wurde
$body = $MailDoc.createRichTextItem("Body") ; Mailbody als Richtextfeld erstellen
With $body
.appendText($bodytext) ; Mailtext in Richtextfeld einfügen
.addNewLine(2) ; 2 mal CRLF zum Mailtext hinzufügen
EndWith
$EmbedObj = $body.EMBEDOBJECT(1454, "", $attachment, "Attachment") ; Den Mailanhang dem Richtextfeld hinzufügen
$MailDoc.SEND(0, $recipient) ; Maildokument an Empfänger senden
$EmbedObj = "NULL" ; Objekte der LoNo - Klassen wieder "zu machen"
$MailDoc = "NULL"
$Maildb = "NULL"
$Session = "NULL"
MsgBox($MB_SYSTEMMODAL, "Mailversand", "Mailversand abgeschlossen!", 10) ; Kurze info
EndFunc
Alles anzeigen
Hallo Forum,
für ein kleines Projekt habe ich eine Lösung im Inet gesucht um mit AutoIt direkt in LoNo Mails mit Anhängen zu erstellen / zu senden.
Was dabei auffiel waren (recht komplizierte) Versuche den Namen der MailDB des Nutzers zu ermitteln, den/die Anhänge in Pfadnamen und Dateinamen zu zerlegen etc.
Nachdem ich mich ein wenig in den LoNo Klassen / Methoden umgesehen habe, war klar dass das alles garnicht notwendig ist.
Ergebnis ist ein kleines Script welches ausschliesslich die Möglichkeiten von LoNo nutzt. Die ganze Fehlerbehandlung habe ich dabei mal rausgelassen.
Vielleicht kann es ja jemand gebrauchen.
Grüße Ricardo