Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: bandit am 14.07.04 - 13:14:09

Titel: Felder beim Erzeugen einer Mail per LS
Beitrag von: bandit am 14.07.04 - 13:14:09
Mir ist die Bedeutung einiger Felder beim erzeugen einer Mail per LS nicht ganz klar. Zum einen gibt es ja "SendTo" und "BlindCopyTo", nur wenn ich lediglich dort die Empfänger eintrage, kommen keine Mails an. Erst wenn ich noch zusätzlich "Recipients" fülle kommen die Mails an. Wofür ist das Feld "Recipients" denn genau da?
Titel: Re:Felder beim Erzeugen einer Mail per LS
Beitrag von: Driri am 14.07.04 - 13:24:38
Hmm...also ich habe eigentlich noch nie Recipients gefüllt.
Gibst Du die Form mit an ?

Recipients enthält alle Empfänger einer Mail (also alles was in SendTo, CopyTo und BlindCopyTo steht) und wird IMO automatisch generiert.
Titel: Re:Felder beim Erzeugen einer Mail per LS
Beitrag von: bandit am 14.07.04 - 14:13:59
Ja hab ich, ich hab das Recipiens auch nur gefüllt, weil ich es in einem Beispiel auch gesehen habe. Ich fülle folgendes:

Set docMail = dbMailbox.CreateDocument
Call docMail.ReplaceItemValue("Subject", strSubject)
Call docMail.ReplaceItemValue("SendTo", strSendTo)
Call docMail.ReplaceItemValue("BlindCopyTo", "varBCC")
Call docMail.ReplaceItemValue("Recipients", strSendTo)
Call docMail.ReplaceItemValue("From", strFrom)
Call docMail.ReplaceItemValue("PostedDate", Now)
Set rtiBody = New NotesRichTextItem(docMail, "Body")
...
Call docMail.Save(True, False)

Dadurch bekommen die Empfänger in varBCC keine Mail, weil sie nicht mit in "Recipiens" stehen. Trage ich in "Recipiens" dann aber varBCC statt strSendTo dann bekommen genau umgedreht nur die Leute in varBCC eine Mail.
Titel: Re:Felder beim Erzeugen einer Mail per LS
Beitrag von: Driri am 14.07.04 - 14:18:05
Ist klar, da Recipients vom Router ausgewertet wird. Du müßtest dann also in Recipients alle Werte reinpacken.
Titel: Re:Felder beim Erzeugen einer Mail per LS
Beitrag von: Glombi am 14.07.04 - 14:19:40
Du erstellst direkt in der mail.box des Servers das Mail?
Dann wird das Item Recipients wohl benötigt.

Der Code muesste so aussehen:

dim item_Recipients as NotesItem
Set docMail = dbMailbox.CreateDocument
Call docMail.ReplaceItemValue("Subject", strSubject)
Call docMail.ReplaceItemValue("SendTo", strSendTo)
Call docMail.ReplaceItemValue("BlindCopyTo", "varBCC")
set item_Recipients = docMail.ReplaceItemValue("Recipients", strSendTo)
forall bcc in docMail.BlindCopyTo
call item_Recipients.AppendToTextList(bcc)
end forall
Call docMail.ReplaceItemValue("From", strFrom)
Call docMail.ReplaceItemValue("PostedDate", Now)
Set rtiBody = New NotesRichTextItem(docMail, "Body")
...
Call docMail.Save(True, False)




Andreas
Titel: Re:Felder beim Erzeugen einer Mail per LS
Beitrag von: bandit am 14.07.04 - 14:24:51
Ok, vielen Dank für die Hilfe!

Ist ja dann eigentlich doppelt gemoppelt, einerseits liest der Router die Recipiens aus, muss aber dann in den anderen Feldern noch schaun, welche davon Blindkopien etc. sind oder?
Titel: Re:Felder beim Erzeugen einer Mail per LS
Beitrag von: Glombi am 14.07.04 - 14:27:27
Erstellst Du direkt in der Mail.box? Falls ja, kann der Router das Feld ja gar nicht anlegen.
Titel: Re:Felder beim Erzeugen einer Mail per LS
Beitrag von: bandit am 14.07.04 - 14:32:58
Ja ich erstelle direkt in der mail.box. Es wäre doch dann aber sinniger einfach auf das Feld Recpiens zu verzichten (aus Router sich)?
Titel: Re:Felder beim Erzeugen einer Mail per LS
Beitrag von: Glombi am 14.07.04 - 14:36:16
Aus der KBASE:
When a message is sent, the Workstation Mailer creates the Recipients field. The Router task uses the Recipients field to deliver the mail message and removes it when the message is delivered to the recipient's mail file.

Der Router benötigt also dieses Feld, sonst kann er die Dokumente in der mail.box nicht senden.

Wenn Du also direkt in der mail.box Dokumente erstellst, muss das Feld da sein.

Andreas
Titel: Re:Felder beim Erzeugen einer Mail per LS
Beitrag von: bandit am 14.07.04 - 14:52:20
Jetzt ist mir alles klar, wozu das gebraucht wird. Danke für den genauen Text!