Table of Contents

Class MailDistributor

Namespace
Cuemon.Net.Mail
Assembly
Cuemon.Net.dll

Provides a way for applications to distribute one or more e-mails in batches by using the Simple Mail Transfer Protocol (SMTP).

public class MailDistributor
Inheritance
MailDistributor

Constructors

MailDistributor(Func<SmtpClient>, Int32)

Initializes a new instance of the MailDistributor class.

public MailDistributor(Func<SmtpClient> carrier, int deliverySize = 20)

Parameters

carrier Func<SmtpClient>

The function delegate that will instantiate a new mail carrier per delivery.

deliverySize Int32

The maximum number of mails a carrier can deliver at a time. Default is a size of 20.

Remarks

A delivery is determined by the deliverySize. This means, that if you are to send 100 e-mails and you have a deliverySize of 20, these 100 e-mails will be distributed to 5 invoked instances of carrier shipping up till 20 e-mails each (depending if you have a filter or not).

Methods

SendAsync(IEnumerable<MailMessage>, Func<MailMessage, Boolean>)

Sends the specified sequence of mails to an SMTP server.

public Task SendAsync(IEnumerable<MailMessage> mails, Func<MailMessage, bool> filter = null)

Parameters

mails IEnumerable<MailMessage>

The e-mails to send to an SMTP server.

filter Func<MailMessage, Boolean>

The function delegate that defines the conditions for sending of the mails sequence.

Returns

Task

Remarks

The function delegate filter will only include those mails that evaluates to true.

SendOneAsync(MailMessage, Func<MailMessage, Boolean>)

Sends the specified mail to an SMTP server.

public Task SendOneAsync(MailMessage mail, Func<MailMessage, bool> filter = null)

Parameters

mail MailMessage

The e-mail to send to an SMTP server.

filter Func<MailMessage, Boolean>

The function delegate that defines the conditions for the sending of mail.

Returns

Task

Remarks

The function delegate filter will only include the mail if that evaluates to true.