/// <summary>
        /// Send a message to a particular recipient.
        /// </summary>
        public void SendMessage(NotificationMessageEmail message)
        {
            if (recipients.ContainsKey(message.RecipientName))
            {
                NotificationRecipientEmail client = recipients[message.RecipientName];

                client.EnqueueMessage(message);
            }
        }
        /// <summary>
        /// This method is called by a sender to send a message to this client.
        /// </summary>
        /// <param name="message">the new message</param>
        public void EnqueueMessage(NotificationMessageEmail message)
        {
            lock (messageQueue)
            {
                messageQueue.Enqueue(message);

                // Set a new message event.
                messageEvent.Set();
            }
        }