We have an application where an email should be sent to all groups included in each category. The problem occurs in the bcc field. If I send each individual group the problem does not happen, but to create an array with the list of groups to be sent in this field, at one time (for repeated names that do not receive more than one message) the problem occurs, exceeding the limit 15k. The agent runs on the server. How can I send to all groups without repeating the sending of email to the same user.Lotus Notes v8.5.1
Subject: Are you sending to so many groups that you exceed the limit of a mail field?
That’s a lot of groups. Or are you looking up the groups’ contents and including the individuals’ names instead?
If there’s no way to fit the values you are wanting to use into the fields, then you’ll have to either write other values or send multiple emails. The List datatype may be useful in keeping track of who you’ve already sent to.
Subject: Here it’s a piece of code.
Here it’s a piece of code. I created a function where it is checked the size of all groups. If size exceeds 15k, I send the groups individually, otherwise, the groups are sent by the array. The ideal would always send them by the matrix, so that people, shall belong to more than one group do not receive duplicate emails.
Dim vDest As NotesView
Dim docDest As NotesDocument
Dim destgrupos As NotesItem
Dim eval
Dim item As NotesItem
Dim ix As Integer
ix = 0
Forall dest In doc.Groups
Set vDest = dbNotificacao.GetView("vdest")
Set docDest = vDest.GetDocumentByKey(dest,True)
If Not docDest Is Nothing Then
docMail.Principal = docCfg.Val3String
docMail.SentBy = docCfg.Val3String
docMail.SendTo = docCfg.Val6String
docMail.ReplyTo = objUser.Abbreviated
If outOfSize = "sizeoverflow" Then
ForAll dest1 In docDest.groups docMail.BlindCopyTo = dest1
Call docMail.Save (True, True)
eval = Evaluate ("@MailSend", docMail)
End ForAll
Else
Set item = docDest.GetFirstItem("groups")
ForAll v In item.Values
ix = ix + 1
ReDim Preserve strArray(ix)
strArray(ix) = v
End ForAll
docMail.BlindCopyTo = strArray
End If
End If
End ForAll
Thanks!
Subject: There’s something in between sending to all groups at once and individual groups
Why don’t you accumulate names in an item until the item size approaches the maximum, then send that email and start accumulating more names? At least that way if someone gets a duplicate, it’ll only be one or two instead of dozens.