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
Int32The 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
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
MailMessageThe 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
Remarks
The function delegate filter
will only include the mail
if that evaluates to true
.