ThreadTypes constants are used with Threads property, and define
behavior of wodSmtpServer when it comes to creating worker thread
for each connected user, and each new relay. By default, no threads
are created - all users and all relays work in same thread as
is the wodSmtpServer. When you expect to receive many concurrent
connections at once, you should try to use one of threading options
instead.
When SafeThreads is selected, worker threads are created,
but when it comes to firing events, main thread is notified about
the event, and main thread fires the event. This is a requirement
in some languages. For example, in Visual Basic it is
a recommended option. Speed increase should occur with this setting,
but still you should NOT put lengthy processing in events code,
since all users must wait to fire events until your processing is
completed.
Selecting FullThreads allows wodSmtpServer to completely
fire events from worker threads. While this may not be safe in some
environments, it is suggested selection in NET environment, such as
VB.NET and C# languages. You can put any lengthy processing inside
events code, since you will block only one thread - while other
users are allowed to continue posting their messages interrupted.