Ну, вы перечисляете пользователей - но у вас нет гарантии, что у получающегося пользователя будет адрес электронной почты! Вам необходимо базовое предотвращение ошибок «программирования 101»:
.....
foreach (SearchResult result in search.FindAll())
{
// this is totally unnecessary - the "SearchResult" already *contains* all
// the properties you've defined in your "PropertiesToLoad" collection!
// DirectoryEntry de = SearchAll.GetDirectoryEntry();
if(result.Properties["mail"] != null && result.Properties["mail"].Count > 0)
{
add.Append(result.Properties["mail"][0].ToString());
}
}
С помощью этой дополнительной проверки вы избежите ошибки Object reference not set....
...