GlobalSafeMode Property
Gets or sets whether safe mode (prefer compatibility instead of performance) must be ENABLED by default.

Namespace: MailBee
Assembly: MailBee.NET (in MailBee.NET.dll) Version: 12.3.1 build 666 for .NET 4.5
public static bool SafeMode { get; set; }

Property Value

Type: Boolean
If true, many performance extensions (including Pipelining) will be DISABLED by default; otherwise, they will be enabled (unless they have not been explicitly disabled via their corresponding options). The default value is false (safe mode is off and the extensions are enabled).

The purpose of this property is to troubleshoot various issues with incorrect implementations of mail protocols on some servers. When SafeMode is enabled, MailBee downgrades its capabilities to the level which still provides all the features but with reduced performance.

Another effect of SafeMode enabled is changing the order in which authentication methods are tried for availibility. By default, MailBee attempts to use secure methods and downgrades to non-secure ones only if secure methods are not available. In SafeMode, this behavior is reversed. However, if the list of desired methods is limited to secure methods only (for instance, Login(String, String, AuthenticationMethods) was called with authMethods parameter set to Apop), MailBee will NOT attempt to use non-secure methods even in safe mode.

Setting SafeMode to true changes the defaults as follows:

Note Note
SafeMode property specifies defaults only for newly created connection settings objects. Thus, it must be set BEFORE creating instances of MailBee classes which are containers of the connection settings (i.e. SmtpServer). The property value does not have any effect on SmtpServer objects already created.

However, even if certain connection settings object was created AFTER SafeMode property had already been set, its effect can be overridden using such object's properties or method parameters which explicitly control the corresponding options. For instance, the developer may manually change SmtpOptions value after it was set during construction of the object.

Note that in Visual Basic you need to use the fully qualified name when accessing this property. Use MailBee.Global.SafeMode, not Global.SafeMode. This is because Global is a keyword in VB.

See Also