コード例 #1
0
ファイル: CondPair.cs プロジェクト: 7shi/LLPML
 public static CondPair New(Cc condition, Cc notCondition)
 {
     var ret = new CondPair();
     ret.Condition = condition;
     ret.NotCondition = notCondition;
     return ret;
 }
コード例 #2
0
ファイル: I386.cs プロジェクト: bencz/CoffLib
 public static OpCode Setcc(Cc c, Reg8 op1)
 {
     return new OpCode(new byte[] { 0x0f, (byte)(0x90 + c), (byte)(0xc0 + op1) });
 }
コード例 #3
0
ファイル: I386.cs プロジェクト: bencz/CoffLib
 public static OpCode Jcc(Cc c, Val32 op1)
 {
     return new OpCode(new byte[] { 0x0f, (byte)(0x80 + c) }, op1, true);
 }
コード例 #4
0
ファイル: I386.cs プロジェクト: 7shi/LLPML
 public static OpCode Setcc(Cc c, Reg8 op1)
 {
     return OpCode.NewBytes(Util.GetBytes3(0x0f, (byte)(0x90 + c), (byte)(0xc0 + op1)));
 }
コード例 #5
0
ファイル: I386.cs プロジェクト: 7shi/LLPML
 public static OpCode Jcc(Cc c, Val32 op1)
 {
     return OpCode.NewDRel(Util.GetBytes2(0x0f, (byte)(0x80 + c)), op1, true);
 }
コード例 #6
0
 public override Task <KeyspaceMetadata> GetKeyspace(string name)
 {
     return(Cc
            .QueryAsync(string.Format(SelectSingleKeyspace, name), true)
            .ContinueSync(rs => ParseKeyspaceRow(rs.FirstOrDefault())));
 }
コード例 #7
0
 public override Task <IEnumerable <KeyspaceMetadata> > GetKeyspaces(bool retry)
 {
     return(Cc
            .QueryAsync(SelectKeyspaces, retry)
            .ContinueSync(rs => rs.Select(ParseKeyspaceRow)));
 }
コード例 #8
0
        private void CreateZenDeskApiRequest()
        {
            var who     = Util.UserFullName + " <" + Util.UserEmail + ">";
            var id      = 0;
            var subject = $"{Subj}";
            var reqbody = new StringBuilder();

            reqbody.AppendFormat(@"<b>Request ID: {0}</b><br>
                            <b>Request By:</b> {1} ({2})<br>
                            <b>Host:</b> https://{3}.tpsdb.com<br>
                            ", id, Util.UserFullName, Util.UserEmail, Util.Host);

            if (Subj != _mydataRequest)
            {
                var p = (from e in CurrentDatabase.Users
                         where e.UserId == CurrentDatabase.UserId
                         select new
                {
                    roles = string.Join(", ", e.Roles)
                }).SingleOrDefault();

                var roles = (p != null ? p.roles : "");
                var ccto  = !string.IsNullOrEmpty(Cc) ? $@"<b>CC:</b> {Cc}<br>" : "";
                reqbody.AppendFormat($@"<b>Roles:</b> {roles}<br>\n{ccto}");
            }
            reqbody.Append(Body);

            var client        = new RestClient("https://touchpointsoftware.zendesk.com/api/v2/tickets.json");
            var request       = new RestRequest(Method.POST);
            var priority      = Urgency == "1" ? "urgent" : Urgency == "2" ? "normal" : "low";
            var collaborators = "";

            if (!string.IsNullOrEmpty(Cc))
            {
                var ccs = Cc.Split(',');
                foreach (var addcc in ccs)
                {
                    try
                    {
                        if (Util.ValidEmail(addcc))
                        {
                            _ccAddrs.Add($"\"{addcc.Trim()}\"");
                        }
                    }
                    catch (FormatException)
                    {
                    }
                }
                if (_ccAddrs.Count > 0)
                {
                    collaborators = $"\n\t\t\"collaborators\": [ {string.Join(",", _ccAddrs)} ],";
                }
            }
            var escapedbody = HttpUtility.JavaScriptStringEncode(reqbody.ToString());

            var data =
                $@"{{
    ""ticket"": {{
        ""requester"": {{
            ""name"": ""{Util.UserFullName}"",
            ""email"": ""{Util.UserEmail}""
        }},
        ""requester_id"": {CurrentDatabase.UserPeopleId},
        ""subject"": ""{subject}"",
        ""comment"": {{ ""body"": ""{escapedbody}"" }},
        ""external_id"": {id},
        ""priority"": ""{priority}"",
        ""created_at"": ""{DateTime.Now:o}"",{collaborators}
        ""status"": ""open""
    }}
}}";

            request.AddParameter("application/json", data, ParameterType.RequestBody);

            var apitoken      = ConfigurationManager.AppSettings["ZenDeskApiToken"];
            var user          = ConfigurationManager.AppSettings["ZenDeskApiUser"];
            var authorization = $"{user}/token:{apitoken}";
            var encoded       = Convert.ToBase64String(Encoding.UTF8.GetBytes(authorization));

            request.AddHeader("authorization", $"Basic {encoded}");
            request.AddHeader("cache-control", "no-cache");
            request.AddHeader("content-type", "application/json");

            client.Execute(request);
        }
コード例 #9
0
        public Message CreateMimeMessage(int tennantid, string userid, bool loadAttachments)
        {
            List <MailAttachment> internalAttachments = new List <MailAttachment>();

            PreprocessHtml(tennantid, internalAttachments);

            var mailMessage = new Message()
            {
                Date     = DateTime.Now,
                Priority = this.Important ? ActiveUp.Net.Mail.MessagePriority.High : ActiveUp.Net.Mail.MessagePriority.Normal
            };

            mailMessage.From = new Address(From, string.IsNullOrEmpty(DisplayName) ? "" : Codec.RFC2047Encode(DisplayName));

            mailMessage.To.AddRange(To.ConvertAll(address => {
                var addr  = Parser.ParseAddress(address);
                addr.Name = string.IsNullOrEmpty(addr.Name) ? "" : Codec.RFC2047Encode(addr.Name);
                return(new Address(addr.Email, addr.Name));
            }));

            mailMessage.Cc.AddRange(Cc.ConvertAll(address =>
            {
                var addr  = Parser.ParseAddress(address);
                addr.Name = string.IsNullOrEmpty(addr.Name) ? "" : Codec.RFC2047Encode(addr.Name);
                return(new Address(addr.Email, addr.Name));
            }));

            mailMessage.Bcc.AddRange(Bcc.ConvertAll(address =>
            {
                var addr  = Parser.ParseAddress(address);
                addr.Name = string.IsNullOrEmpty(addr.Name) ? "" : Codec.RFC2047Encode(addr.Name);
                return(new Address(addr.Email, addr.Name));
            }));

            mailMessage.Subject = Codec.RFC2047Encode(Subject);

            // Set correct body
            if (Attachments.Count != 0 || internalAttachments.Count != 0)
            {
                foreach (MailAttachment attachment in Attachments)
                {
                    var attachPath = attachment;

                    var attach = CreateAttachment(tennantid, attachment, loadAttachments);

                    if (attach != null)
                    {
                        mailMessage.Attachments.Add(attach);
                    }
                }

                foreach (MailAttachment internalAttachment in internalAttachments)
                {
                    var attach = CreateAttachment(tennantid, internalAttachment, true);

                    if (attach != null)
                    {
                        mailMessage.EmbeddedObjects.Add(attach);
                    }
                }
            }

            mailMessage.BodyText.Charset = Encoding.UTF8.HeaderName;
            mailMessage.BodyText.ContentTransferEncoding = ContentTransferEncoding.QuotedPrintable;
            mailMessage.BodyText.Text = "";

            mailMessage.BodyHtml.Charset = Encoding.UTF8.HeaderName;
            mailMessage.BodyHtml.ContentTransferEncoding = ContentTransferEncoding.QuotedPrintable;
            mailMessage.BodyHtml.Text = HtmlBody;

            return(mailMessage);
        }
コード例 #10
0
        public virtual void Save(TextWriter txt)
        {
            txt.WriteLine("Date: {0}", Date.GetRFC2060Date());
            txt.WriteLine("To: {0}", string.Join("; ", To.Select(x => x.ToString())));
            txt.WriteLine("Cc: {0}", string.Join("; ", Cc.Select(x => x.ToString())));
            txt.WriteLine("Reply-To: {0}", string.Join("; ", ReplyTo.Select(x => x.ToString())));
            txt.WriteLine("Bcc: {0}", string.Join("; ", Bcc.Select(x => x.ToString())));
            if (Sender != null)
            {
                txt.WriteLine("Sender: {0}", Sender);
            }
            if (From != null)
            {
                txt.WriteLine("From: {0}", From);
            }
            if (!string.IsNullOrEmpty(MessageID))
            {
                txt.WriteLine("Message-ID: {0}", MessageID);
            }

            var otherHeaders = Headers.Where(x => !SpecialHeaders.Contains(x.Key, StringComparer.InvariantCultureIgnoreCase));

            foreach (var header in otherHeaders)
            {
                txt.WriteLine("{0}: {1}", header.Key, header.Value);
            }
            if (Importance != MailPriority.Normal)
            {
                txt.WriteLine("Importance: {0}", (int)Importance);
            }
            txt.WriteLine("Subject: {0}", Subject);

            string boundary = null;

            if (Attachments.Any() || AlternateViews.Any())
            {
                boundary = string.Format("--boundary_{0}", Guid.NewGuid());
                txt.WriteLine("Content-Type: multipart/mixed; boundary={0}", boundary);
            }

            // signal end of headers
            txt.WriteLine();

            if (!string.IsNullOrWhiteSpace(Body))
            {
                if (boundary != null)
                {
                    txt.WriteLine("--" + boundary);
                    txt.WriteLine();
                }

                txt.Write(Body);
            }

            AlternateViews.ToList().ForEach(view =>
            {
                txt.WriteLine();
                txt.WriteLine("--" + boundary);
                txt.WriteLine(string.Join("\r\n", view.Headers.Select(h => string.Format("{0}: {1}", h.Key, h.Value))));
                txt.WriteLine();
                if (view.Scope >= Scope.HeadersAndBodySnyppit)
                {
                    txt.WriteLine(view.Body);
                }
            });


            this.Attachments.ToList().ForEach(att =>
            {
                txt.WriteLine();
                txt.WriteLine("--" + boundary);
                txt.WriteLine(string.Join("\r\n", att.Headers.Select(h => string.Format("{0}: {1}", h.Key, h.Value))));
                txt.WriteLine();
                if (att.Scope >= Scope.HeadersAndBodySnyppit)
                {
                    txt.WriteLine(att.Body);
                }
            });

            if (boundary != null)
            {
                txt.WriteLine("--" + boundary + "--");
            }
        }
コード例 #11
0
        public override string ToString()
        {
            StringBuilder sb = new StringBuilder();

            string boundary = Guid.NewGuid().ToString();
            var    date     = DateTime.Now.ToString("ddd, d MMM yyyy H:m:s zz00");

            var subject = !Equals(SubjectEncoding, Encoding.ASCII)
                ? EncodeQuotedPrintableHeader(Subject, SubjectEncoding)
                : Subject;

            AddHeader(sb, "From", FormatMailAddress(From, HeaderEncoding));
            if (To.Any())
            {
                AddHeader(sb, "To", String.Join(", ", To.Select(t => FormatMailAddress(t, HeaderEncoding))));
            }
            if (Cc.Any())
            {
                AddHeader(sb, "Cc", String.Join(", ", Cc.Select(t => FormatMailAddress(t, HeaderEncoding))));
            }
            AddHeader(sb, "Subject", subject);
            AddHeader(sb, "MIME-Version", "1.0");
            AddHeader(sb, "Date", date);
            AddHeader(sb, "Message-ID", MessageId);

            foreach (var additionalHeader in AdditionalHeaders)
            {
                AddHeader(additionalHeader.Name, additionalHeader.Value);
            }

            if (Attachments.Any())
            {
                AddHeader(sb, "Content-Type", "multipart/mixed; boundary=" + boundary);

                AddLine(sb, "");

                AddLine(sb, "--" + boundary);
            }

            string boundary2 = Guid.NewGuid().ToString();

            AddHeader(sb, "Content-Type", "multipart/alternative; boundary=" + boundary2);

            AddLine(sb, "");

            AddLine(sb, "--" + boundary2);

            AddHeader(sb, "Content-Type", "text/plain; charset=" + BodyEncoding.HeaderName);
            AddHeader(sb, "Content-Transfer-Encoding", "quoted-printable");
            AddHeader(sb, "Content-Disposition", "inline");

            AddLine(sb, "");

            AddLine(sb, encodeQuotedPrintable(Text, BodyEncoding));

            AddLine(sb, "--" + boundary2);

            AddHeader(sb, "Content-Type", "text/html; charset=" + BodyEncoding.HeaderName);
            AddHeader(sb, "Content-Transfer-Encoding", "quoted-printable");
            AddHeader(sb, "Content-Disposition", "inline");

            AddLine(sb, "");

            AddLine(sb, encodeQuotedPrintable(Html, BodyEncoding));

            AddLine(sb, "--" + boundary2 + "--");

            if (Attachments.Any())
            {
                AddLine(sb, "");

                foreach (var attachment in Attachments)
                {
                    AddLine(sb, "--" + boundary);

                    if (attachment.Encoding != null)
                    {
                        AddHeader(sb, "Content-Type", attachment.Type + "; charset=" + attachment.Encoding.HeaderName);
                    }
                    else
                    {
                        AddHeader(sb, "Content-Type", attachment.Type);
                    }
                    AddHeader(sb, "Content-Transfer-Encoding", "base64");
                    AddHeader(sb, "Content-Disposition", "attachment; filename=" + attachment.Name);

                    AddLine(sb, "");

                    AddLine(sb, Convert.ToBase64String(attachment.Data, Base64FormattingOptions.InsertLineBreaks));
                }

                AddLine(sb, "--" + boundary + "--");
            }

            return(sb.ToString());
        }
コード例 #12
0
ファイル: Email.cs プロジェクト: iturribeitia/GPL
        /// <summary>
        /// Creates a Mail object and sends the email if the SMTPServer variable is not
        /// empty or null
        /// </summary>
        /// <param name="timesToRetry">Number of retries</param>
        /// <param name="retryTimeout">Miliseconds between each retry.</param>
        public void SendEmail(int timesToRetry = 0, int retryTimeout = 5000)
        {
            // Create Mail object
            var oMailMessage = new MailMessage();

            try
            {
                // Set properties needed for the email
                oMailMessage.From = new MailAddress(From);
                //oMailMessage.To.Add(new MailAddress(To));

                var splitChar = To.Contains(",") ? "," : ";";

                var emTo = To.Trim().Split(splitChar.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);

                if (emTo.Length == 0)
                {
                    throw new ArgumentException("Argument 'To' must be a valid email repository, please review It.");
                }

                foreach (string toAdd in emTo)
                {
                    oMailMessage.To.Add(toAdd);
                }


                if (!string.IsNullOrEmpty(Cc))
                {
                    //oMailMessage.CC.Add(new MailAddress(Cc));

                    splitChar = Cc.Contains(",") ? "," : ";";

                    var emCc = Cc.Trim().Split(splitChar.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);

                    if (emCc.Length == 0)
                    {
                        throw new ArgumentException("Argument 'Cc' must be a valid email repository, please review It.");
                    }

                    foreach (string CcAdd in emCc)
                    {
                        //oMailMessage.To.Add(CcAdd);
                        oMailMessage.CC.Add(CcAdd);
                    }
                }

                oMailMessage.Subject    = ((string.IsNullOrEmpty(Subject) ? "" : Subject));
                oMailMessage.Body       = ((string.IsNullOrEmpty(Body) ? "" : Body));
                oMailMessage.IsBodyHtml = IsBodyHtml;

                if (Attachments != null && Attachments.Count > 0)
                {
                    foreach (string attachment in Attachments)
                    {
                        var mailAttachment = new Attachment(attachment.Trim());
                        oMailMessage.Attachments.Add(mailAttachment);
                    }
                }
                //Utility.RetryAction(() => _smtpClient.Send(oMailMessage), timesToRetry, retryTimeout);
                Utility.RetryMethod(new Action <MailMessage>(_smtpClient.Send), timesToRetry, retryTimeout, oMailMessage);
            }
            finally
            {
                //destroy the oMailMessage object to release attachements from usage by the process
                oMailMessage.Dispose();
            }
        }
コード例 #13
0
ファイル: SMTPMail.cs プロジェクト: kangjinh/code
        /// <summary>
        /// SMTP邮件Sender的类的封装
        /// </summary>
        public override async Task <bool> Send()
        {
            var isSended = false;

            try
            {
                //qq域名邮箱的smtp(smtp.qq.com),端口号:25;如果是腾讯企业邮箱,需要改成smtp.exmail.qq.com,端口号465
                var smtpServer = "smtp.exmail.qq.com";
                var userName   = "******"; //用户名
                var password   = "******";        //密码
                //注意:如果是腾讯企业邮箱发送邮件,默认端口是465,不需要设置,如果你设置了,就发不出来邮件,不知道原因
                var message = new MailMessage();
                To.ForEach(email =>
                {
                    if (email.IsEmail())
                    {
                        message.To.Add(email);
                    }
                });
                message.Sender = new MailAddress(userName, userName);
                if (Cc.AnyOne())
                {
                    Cc.ForEach(email =>
                    {
                        if (email.IsEmail())
                        {
                            message.CC.Add(email);
                        }
                    });
                }
                message.Subject = Encoding.Default.GetString(Encoding.Default.GetBytes(Subject));
                if (From.IsBlank())
                {
                    From = userName;
                }
                message.From = DisplayName.IsBlank() ? new MailAddress(From) : new MailAddress(From, Encoding.Default.GetString(Encoding.Default.GetBytes(DisplayName)));

                message.Body                        = Encoding.Default.GetString(Encoding.Default.GetBytes(Body));
                message.BodyEncoding                = Encoding.GetEncoding("GBK");
                message.HeadersEncoding             = Encoding.UTF8;
                message.SubjectEncoding             = Encoding.UTF8;
                message.IsBodyHtml                  = true;
                message.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
                message.ReplyToList.Add(new MailAddress(From));
                if (Attachments.AnyOne())
                {
                    Attachments.ForEach(x =>
                    {
                        message.Attachments.Add(new Attachment(x));
                    });
                }

                var smtp = new SmtpClient(smtpServer)
                {
                    DeliveryMethod        = SmtpDeliveryMethod.Network,
                    UseDefaultCredentials = false,
                    Credentials           = new NetworkCredential(userName, password),
                    Timeout   = 30000,
                    EnableSsl = true
                };

                smtp.SendCompleted += smtp_SendCompleted;
                await smtp.SendMailAsync(message);

                isSended = true;
            }
            catch (Exception ex)
            {
                Log.Error("发送邮件失败", ex);
            }
            return(isSended);
        }
コード例 #14
0
        public Message ToMimeMessage(int tenant, string user, bool loadAttachments)
        {
            var mimeMessage = new Message
            {
                Date = DateTime.UtcNow,
                From = new Address(From, string.IsNullOrEmpty(DisplayName) ? "" : Codec.RFC2047Encode(DisplayName))
            };

            if (Important)
            {
                mimeMessage.Priority = MessagePriority.High;
            }

            mimeMessage.To.AddRange(To.ConvertAll(address =>
            {
                var addr  = Parser.ParseAddress(address);
                addr.Name = string.IsNullOrEmpty(addr.Name) ? "" : Codec.RFC2047Encode(addr.Name);
                return(new Address(addr.Email, addr.Name));
            }));

            mimeMessage.Cc.AddRange(Cc.ConvertAll(address =>
            {
                var addr  = Parser.ParseAddress(address);
                addr.Name = string.IsNullOrEmpty(addr.Name) ? "" : Codec.RFC2047Encode(addr.Name);
                return(new Address(addr.Email, addr.Name));
            }));

            mimeMessage.Bcc.AddRange(Bcc.ConvertAll(address =>
            {
                var addr  = Parser.ParseAddress(address);
                addr.Name = string.IsNullOrEmpty(addr.Name) ? "" : Codec.RFC2047Encode(addr.Name);
                return(new Address(addr.Email, addr.Name));
            }));

            mimeMessage.Subject = Codec.RFC2047Encode(Subject);

            // Set correct body
            if (Attachments.Any() || AttachmentsEmbedded.Any())
            {
                foreach (var attachment in Attachments)
                {
                    attachment.user   = user;
                    attachment.tenant = tenant;
                    var attach = CreateAttachment(attachment, loadAttachments);
                    if (attach != null)
                    {
                        mimeMessage.Attachments.Add(attach);
                    }
                }

                foreach (var embeddedAttachment in AttachmentsEmbedded)
                {
                    embeddedAttachment.user   = user;
                    embeddedAttachment.tenant = tenant;
                    var attach = CreateAttachment(embeddedAttachment, true);
                    if (attach != null)
                    {
                        mimeMessage.EmbeddedObjects.Add(attach);
                    }
                }
            }

            mimeMessage.MessageId = MimeMessageId;
            mimeMessage.InReplyTo = MimeReplyToId;

            mimeMessage.BodyText.Charset = Encoding.UTF8.HeaderName;
            mimeMessage.BodyText.ContentTransferEncoding = ContentTransferEncoding.QuotedPrintable;
            mimeMessage.BodyText.Text = "";

            mimeMessage.BodyHtml.Charset = Encoding.UTF8.HeaderName;
            mimeMessage.BodyHtml.ContentTransferEncoding = ContentTransferEncoding.QuotedPrintable;
            mimeMessage.BodyHtml.Text = HtmlBody;

            mimeMessage.OriginalData = Encoding.GetEncoding("iso-8859-1").GetBytes(mimeMessage.ToMimeString());

            return(mimeMessage);
        }
コード例 #15
0
        /// <summary>
        /// Shared Mail logic for replying to a mail
        /// </summary>
        /// <param name="context"></param>
        protected override void Execute(CodeActivityContext context)
        {
            // ****************** getting the input values ************************
            ExchangeService objExchangeService = ObjExchangeService.Get(context);
            Item            mail       = Mail.Get(context);
            string          body       = Body.Get(context);
            bool            isBodyHTML = IsBodyHTML.Get(context);
            //string recipientEmail = RecipientEmail.Get(context);
            string cc     = Cc.Get(context);
            string bcc    = Bcc.Get(context);
            string sender = Sender.Get(context);

            string[] attachments = Attachments.Get(context);
            bool     isReplyAll  = ReplyAll.Get(context);

            //******** Sending mail Logic ******
            EmailMessage    email           = EmailMessage.Bind(objExchangeService, mail.Id, new PropertySet(ItemSchema.Attachments));
            ResponseMessage responseMessage = email.CreateReply(isReplyAll);

            //Check for if body is a HTML content
            if (isBodyHTML)
            {
                responseMessage.BodyPrefix = new MessageBody(BodyType.HTML, body);
            }
            else
            {
                responseMessage.BodyPrefix = body;
            }

            //If CC is available
            if (cc != null && cc.Length > 0)
            {
                //Adding recipients to mail
                string[] recipientsCC = cc.Split(';');
                foreach (string recipient in recipientsCC)
                {
                    responseMessage.CcRecipients.Add(recipient);
                }
            }

            //If BCC is available
            if (bcc != null && bcc.Length > 0)
            {
                //Adding recipients to mail
                string[] recipientsBcc = bcc.Split(';');
                foreach (string recipient in recipientsBcc)
                {
                    responseMessage.BccRecipients.Add(recipient);
                }
            }


            //Check if attachment is available
            //If attachments
            if (attachments != null && attachments.Length > 0)
            {
                FolderView view = new FolderView(10000);
                view.PropertySet = new PropertySet(BasePropertySet.IdOnly);
                view.PropertySet.Add(FolderSchema.DisplayName);
                view.Traversal = FolderTraversal.Deep;
                Mailbox            mailbox           = new Mailbox(sender);
                FindFoldersResults findFolderResults = objExchangeService.FindFolders(new FolderId(WellKnownFolderName.MsgFolderRoot, mailbox), view);

                foreach (Folder folder in findFolderResults)
                {
                    if (folder.DisplayName == "Sent Items")
                    {
                        //Adding attachments to reply mail
                        EmailMessage reply = responseMessage.Save(folder.Id);
                        foreach (string attachment in attachments)
                        {
                            reply.Attachments.AddFileAttachment(attachment);
                        }
                        reply.Update(ConflictResolutionMode.AlwaysOverwrite);

                        //Sending mail and saving to sent Items
                        reply.SendAndSaveCopy(folder.Id);
                    }
                }
            }

            else
            {
                FolderView view = new FolderView(10000);
                view.PropertySet = new PropertySet(BasePropertySet.IdOnly);
                view.PropertySet.Add(FolderSchema.DisplayName);
                view.Traversal = FolderTraversal.Deep;
                Mailbox            mailbox           = new Mailbox(sender);
                FindFoldersResults findFolderResults = objExchangeService.FindFolders(new FolderId(WellKnownFolderName.MsgFolderRoot, mailbox), view);

                foreach (Folder folder in findFolderResults)
                {
                    if (folder.DisplayName == "Sent Items")
                    {
                        responseMessage.SendAndSaveCopy(folder.Id);
                    }
                }
            }
        }
コード例 #16
0
 private void Page_Load(object sender, System.EventArgs e)
 {
     if (IsPostBack)
     {
         _allAddressesOk = true;
         // Initialize To addresses
         foreach (string em in txtTo.Text.Split(";".ToCharArray()))
         {
             try
             {
                 if (em.Trim() != string.Empty)
                 {
                     To.Add(em);
                 }
             }
             catch (ArgumentException ae)
             {
                 string message = ae.Message;
                 _allAddressesOk = false;
             }
         }
         // Initialize Cc addresses
         foreach (string em in txtCc.Text.Split(";".ToCharArray()))
         {
             try
             {
                 if (em.Trim() != string.Empty)
                 {
                     Cc.Add(em);
                 }
             }
             catch (ArgumentException ae)
             {
                 string message = ae.Message;
                 _allAddressesOk = false;
             }
         }
         // Initialize To addresses
         foreach (string em in txtBcc.Text.Split(";".ToCharArray()))
         {
             try
             {
                 if (em.Trim() != string.Empty)
                 {
                     Bcc.Add(em);
                 }
             }
             catch (ArgumentException ae)
             {
                 string message = ae.Message;
                 _allAddressesOk = false;
             }
         }
         // Show error
         lblEmailAddressesNotOk.Visible = !AllEmailAddressesOk;
     }
     else
     {
         txtTo.Text  = string.Join(";", (string[])To.ToArray(typeof(string)));
         txtCc.Text  = string.Join(";", (string[])Cc.ToArray(typeof(string)));
         txtBcc.Text = string.Join(";", (string[])Bcc.ToArray(typeof(string)));
     }
 }