Esempio n. 1
0
        public SmimeMailMessage GenerateMail(List <IMailAddress> toAddresses,
                                             List <SmimeMailAddress> ccAddresses, List <SmimeMailAddress> bccAddresses,
                                             List <string> attachmentsList, string subject, string body)
        {
            if (toAddresses == null)
            {
                throw new ArgumentNullException("toAddresses");
            }


            var message = new SmimeMailMessage();

            to  = toAddresses;
            cc  = ccAddresses;
            bcc = bccAddresses;



            message.From = From;
            to.ForEach(a =>
                       message.To.Add((SmimeMailAddress)a));
            if (cc != null)
            {
                cc.ForEach(a =>
                           message.CC.Add(a));
            }
            if (bcc != null)
            {
                bcc.ForEach(a =>
                            message.Bcc.Add(a));
            }

            if (attachmentsList != null && attachmentsList.Count > 0)
            {
                attachmentsList.ForEach(a => message.Attachments.Add(new MimeAttachment(a)));
            }

            message.Subject = subject;

            message.Body = body;

            message.IsSigned = _sign;

            message.IsEncrypted = _encrypt;

            return(message);
        }
Esempio n. 2
0
        public void SendSecureMail(List <SmimeMailAddress> recieverMailAddresses, string messageSubject, string messageBody, X509Certificate2 signingCertificate2, List <string> attachmentAddress = null, X509Certificate2 encryptionCertificate2 = null)
        {
            if (signingCertificate2 == null)
            {
                throw new ArgumentNullException("signingCertificate2");
            }

            var message = new SmimeMailMessage();

            // Look up your signing cert by serial number in your cert store

            if (encryptionCertificate2 == null && _encrypt)
            {
                message.From = new SmimeMailAddress(_senderEmailAddresss, _senderDisplayName, signingCertificate2, signingCertificate2);
            }
            else if (_encrypt && _sign)
            {
                message.From = new SmimeMailAddress(_senderEmailAddresss, _senderDisplayName, signingCertificate2, encryptionCertificate2);
            }
            else
            {
                message.From = new SmimeMailAddress(_senderEmailAddresss, _senderDisplayName, signingCertificate2);
            }
            recieverMailAddresses.ForEach(a =>
                                          message.To.Add(a));
            if (attachmentAddress != null && attachmentAddress.Count > 0)
            {
                attachmentAddress.ForEach(a => message.Attachments.Add(new MimeAttachment(a)));
            }
            message.Priority = _messagePriority;
            message.Subject  = messageSubject;

            message.Body       = messageBody;
            message.IsBodyHtml = _useHtml;

            message.IsSigned = _sign;

            message.IsEncrypted = _encrypt;


            SendMessage(message, _onSendCallBack);
        }