MemoryMessageSpool.cs
上传用户:wdhx888
上传日期:2017-06-08
资源大小:112k
文件大小:1k
源码类别:

WEB邮件程序

开发平台:

C#

  1. namespace EricDaugherty.CSES.SmtpServer
  2. {
  3. using System;
  4. using System.Collections;
  5. /// <summary>
  6. /// Provides a memory based IMessageSpool.
  7. /// </summary>
  8. public class MemoryMessageSpool : IMessageSpool
  9. {
  10. #region Variables
  11. private Queue queue;
  12. #endregion
  13. /// <summary>
  14. /// Initializes the queue.
  15. /// </summary>
  16. public MemoryMessageSpool()
  17. {
  18. queue = new Queue();
  19. }
  20. #region IMessageSpool methods
  21. /// <summary>
  22. /// Addes the message to the in memory queue.
  23. /// </summary>
  24. /// <param name='message'>The message to queue.</param>
  25. public virtual bool SpoolMessage(SMTPMessage message)
  26. {
  27. queue.Enqueue( message );
  28. return true;
  29. }
  30. #endregion
  31. #region Public Methods
  32. /// <summary>Returns the oldest message in the spool.</summary>
  33. public virtual SMTPMessage NextMessage()
  34. {
  35. return (SMTPMessage) queue.Dequeue();
  36. }
  37. /// <summary>Removes any messages from the spool.</summary>
  38. public virtual void ClearSpool()
  39. {
  40. queue.Clear();
  41. }
  42. #endregion
  43. }
  44. }