SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Happy new year everyone,

so I'm creating a contact form webpart for my event management system at the moment which has a checkbox "send to all attendees". I'm using the SPUtility.SendEmail method to send mails via smtp. For one recipient (chosen by a dropdown-menu, getting Mail-Adresses from a list "attendees" where the attendees mails are entered by getting it from user profile) it should work fine (works in another context, though).

So, to send mails to multiple recipients, I thought about getting the attendees mail-adresses (via linq-query) in a string-array and then use a foreach-loop in combination with SPUtility.SendEmail, but I think by clicking the "send" button this action will last several (too many?) seconds (I'm using SPUtility.SendEmail on another webpart to send registration confirmations, and if an attendee clicks on the "register" button, it lasts 1-2 seconds to get the response (using a virtual smtp server using googlemail as smtp)).

So my actual question is: Is there an efficient way to send bulk email over SendEmail or another method I'm missing?

Best regards, Dominik

edit1: Oh, and the case "no email" could occur. In this case I thought about adding nothing to string array but counting the occurances and giving a message to the enduser.

share|improve this question
up vote 1 down vote accepted

SendEmail accept the standard SMTP format of having multiple adresses separate by semicolon, but be aware that the recipients may see each others adresses if you put them all in the to field

share|improve this answer
yeh, i know i could use cc and bcc, but the problem is there's a limit of characters for those smtp fields and depending on the adresses this limit might be reached. But... hum, perhaps counting the adresses-characters and splitting by limit (just in case of limit is reached) might solve the problem – Dominik Jan 4 '13 at 12:36

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.