Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet 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?
-
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.
-
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.
-
Ist klar, da Recipients vom Router ausgewertet wird. Du müßtest dann also in Recipients alle Werte reinpacken.
-
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
-
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?
-
Erstellst Du direkt in der Mail.box? Falls ja, kann der Router das Feld ja gar nicht anlegen.
-
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)?
-
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
-
Jetzt ist mir alles klar, wozu das gebraucht wird. Danke für den genauen Text!