Send() public method

public Send ( IEnumerable messages ) : void
messages IEnumerable
return void
Example #1
0
        private int SendMail(DKIM.SmtpClient smtpClient, string from, string to, string cc, string subject, string listId, string body, bool isHtml, List <Attach> attachs)
        {
            using (var message = new MailMessage())
            {
                message.BodyEncoding = Encoding.UTF8;
                message.IsBodyHtml   = isHtml;
                message.Subject      = subject;
                message.Body         = body;
                message.Sender       = new MailAddress(Config.ReturnPath);
                message.From         = new MailAddress(from);
                message.To.Add(to);
                if (!String.IsNullOrEmpty(listId))
                {
                    message.Headers.Add("List-Id", listId);
                }

                //Send copy if needed
                if (!String.IsNullOrEmpty(cc))
                {
                    message.CC.Add(cc);
                }

                //Attach files if exists
                if (attachs.Count != 0)
                {
                    foreach (var attach in attachs)
                    {
                        message.Attachments.Add(new Attachment(new MemoryStream(attach.Data), attach.Name));
                    }
                }

                //Sign message if available
                DkimSigner      dkimSig;
                DomainKeySigner domainKeySig;

                _dkimSignerCache.TryGetValue(message.From.Address, out dkimSig);
                _domailKeySignerCache.TryGetValue(message.From.Address, out domainKeySig);
                smtpClient.DkimSigner       = dkimSig;
                smtpClient.DomainKeysSigner = domainKeySig;

                if (Config.CoreTest == 0)
                {
                    smtpClient.Send(message);
                }
                else if (Config.CoreTest > 0)
                {
                    Thread.Sleep(Config.CoreTest);
                }
            }

            return((int)SmtpStatusCode.Ok);
        }