SmtpServerCollection Class
Represents a sorted collection of SmtpServer objects.
Inheritance Hierarchy

Namespace: MailBee.SmtpMail
Assembly: MailBee.NET (in MailBee.NET.dll) Version: 11.2.0 build 590 for .NET 4.5
Syntax
[SerializableAttribute]
public class SmtpServerCollection : SortableByPriorityCollection

The SmtpServerCollection type exposes the following members.

Constructors
  NameDescription
Public methodSmtpServerCollection
Initializes a new instance of the SmtpServerCollection class
Top
Methods
  NameDescription
Public methodAdd(String)
Adds a top (0) priority SMTP relay server under the specified host name (or IP address string) to the collection and sorts the collection according to the elements priorities.
Public methodAdd(SmtpServer)
Adds an SmtpServer to the collection and sorts the collection according to the elements priorities.
Public methodAdd(String, Int32, Int32)
Initializes a new instance of the SmtpServer class with the given host name (or IP address string), port number and priority value, adds this instance into the collection, and sorts the collection according to the elements priorities.
Public methodAdd(String, String, String)
Adds a top (0) priority SMTP relay server under the specified host name (or IP address string) to the collection, enables ESMTP authentication for this server, and sorts the collection according to the elements priorities.
Public methodAdd(String, String, String, AuthenticationMethods)
Adds a top (0) priority SMTP relay server under the specified host name (or IP address string) to the collection, enables ESMTP authentication for this server using the specified methods, and sorts the collection according to the elements priorities.
Public methodAdd(String, Int32, Int32, Int32, Boolean, AuthenticationMethods, String, String, Boolean, String, ExtendedSmtpOptions)
Initializes a new instance of the SmtpServer class with the given parameter values, adds this instance to the collection, and sorts the collection according to the elements priorities.
Public methodClear
Removes all objects from the CollectionBase instance. This method cannot be overridden.
(Inherited from CollectionBase.)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetEnumerator
Returns an enumerator that iterates through the CollectionBase instance.
(Inherited from CollectionBase.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected methodOnClear
Performs additional custom processes when clearing the contents of the CollectionBase instance.
(Inherited from CollectionBase.)
Protected methodOnClearComplete
Performs additional custom processes after clearing the contents of the CollectionBase instance.
(Inherited from CollectionBase.)
Protected methodOnInsert
Performs additional custom processes before inserting a new element into the CollectionBase instance.
(Inherited from CollectionBase.)
Protected methodOnInsertComplete
Performs additional custom processes after inserting a new element into the CollectionBase instance.
(Inherited from CollectionBase.)
Protected methodOnRemove
Performs additional custom processes when removing an element from the CollectionBase instance.
(Inherited from CollectionBase.)
Protected methodOnRemoveComplete
Performs additional custom processes after removing an element from the CollectionBase instance.
(Inherited from CollectionBase.)
Protected methodOnSet
Performs additional custom processes before setting a value in the CollectionBase instance.
(Inherited from CollectionBase.)
Protected methodOnSetComplete
Performs additional custom processes after setting a value in the CollectionBase instance.
(Inherited from CollectionBase.)
Protected methodOnValidate
Performs additional custom processes when validating a value.
(Inherited from CollectionBase.)
Public methodRemove
Removes the specified SmtpServer object from the collection.
Public methodRemoveAt
Removes the element at the specified index of the CollectionBase instance. This method is not overridable.
(Inherited from CollectionBase.)
Public methodSortByPriority
Sorts the items in the collection by their priority value.
(Inherited from SortableByPriorityCollection.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Properties
  NameDescription
Public propertyCapacity
Gets or sets the number of elements that the CollectionBase can contain.
(Inherited from CollectionBase.)
Public propertyCount
Gets the number of elements contained in the CollectionBase instance. This property cannot be overridden.
(Inherited from CollectionBase.)
Protected propertyInnerList
Gets an ArrayList containing the list of elements in the CollectionBase instance.
(Inherited from CollectionBase.)
Public propertyItem
Gets or sets the element at the specified index.
Protected propertyList
Gets an IList containing the list of elements in the CollectionBase instance.
(Inherited from CollectionBase.)
Top
Remarks

When SmtpServers collection is populated with at least one SMTP relay server of the same or higher priority than the top priority DNS server in DnsServers collection (or DnsServers collection is empty), Smtp component will attempt to send the mail message to the first SMTP relay server in SmtpServers collection. If it fails, MailBee will attempt to connect and send to lower priority SMTP relay servers. If this fails too and DnsServers collection is not empty, the mail message will be sent in direct send mode.

If the top priority SMTP relay server has lower priority than the top priority DNS server in DnsServers collection, Smtp component will attempt to send the mail message in direct send mode, and then try to send to SMTP relay servers if certain recipients failed during direct send.

When Connect method is called (rather than Send), the Smtp component will attempt to connect to the SMTP relay servers in the same way as described above. However, if all SMTP relay servers failed, no attempt to perform direct send is made (because Connect method does not send any mail messages, it only connects to an SMTP relay server). In other words, when the connection is established via explicit call to Connect method, direct send mode and DnsServers collection are never used.

See Also