protected void SendButton_Click(object sender, EventArgs e)
        {
            MailMessage newEmailMsg = new MailMessage();

            foreach (GridViewRow userRow in UserContactGridView.Rows)
            {
                CheckBox isSelectedBox = (CheckBox)userRow.FindControl("EmailCheckbox"); // get selected user contacts
                if (isSelectedBox != null && isSelectedBox.Checked)
                {
                    // select a user
                    newEmailMsg.To.Add(new MailAddress(
                                           userRow.Cells[3].Text,          // address
                                           "Dear " + userRow.Cells[0].Text // displayName
                                           ));
                }
            }

            if (AttachmentUpload.HasFile)
            {
                // add attachment
                string filePath         = "~/user/files/";
                string absoluteFilePath = Server.MapPath(filePath);
                if (!System.IO.Directory.Exists(absoluteFilePath))
                {
                    // create upload file path
                    System.IO.Directory.CreateDirectory(absoluteFilePath);
                }
                string fileName = AttachmentUpload.FileName;
                AttachmentUpload.SaveAs(absoluteFilePath + fileName);
                Attachment newAttachment = new Attachment(absoluteFilePath + fileName);
                newEmailMsg.Attachments.Add(newAttachment);
            }
            // get current users email
            // string username = HttpContext.Current.User.Identity.Name;
            // userEmailSearchDataSource.SelectCommand = "SELECT * FROM [user] WHERE [username] = '" + username + "'";
            // DataView result = (DataView)userEmailSearchDataSource.Select(DataSourceSelectArguments.Empty);
            // string currentUserEmail = (string)result[0]["email"];

            newEmailMsg.From    = new MailAddress("*****@*****.**", "Glasscat");
            newEmailMsg.Subject = SubjectInput.Text;
            newEmailMsg.Body    = ComposeTextbox.Text;

            try
            {
                SmtpClient smtp = new SmtpClient();
                smtp.Host = "smtp.126.com";
                smtp.UseDefaultCredentials = false;
                smtp.Credentials           = new NetworkCredential("GlassCat", "glasscat123");
                smtp.Send(newEmailMsg);
                successLabel.Visible = true;
            } catch (Exception exc)
            {
                failLabel.Text    = exc.Message;
                failLabel.Visible = true;
            }
        }
        public ActionResult Create([Bind(Include = "TicketId,FilePath,Description,Created,UserId,FileUrl")] TicketAttachments ticketAttachments, HttpPostedFileBase attachment)
        {
            if (ModelState.IsValid)
            {
                if (AttachmentUpload.WebFriendlyImage(attachment))
                {
                    var fileName = Path.GetFileName(attachment.FileName);
                    attachment.SaveAs(Path.Combine(Server.MapPath("~/Uploads/"), fileName));
                    ticketAttachments.FilePath = "~/Uploads/" + fileName;
                }

                ticketAttachments.Created = DateTimeOffset.Now;
                ticketAttachments.UserId  = User.Identity.GetUserId();
                db.TicketAttachment.Add(ticketAttachments);
                db.SaveChanges();
                return(RedirectToAction("Details", "Tickets", new { id = ticketAttachments.TicketId }));
            }

            ViewBag.TicketId = new SelectList(db.Ticket, "Id", "Title", ticketAttachments.TicketId);
            return(View(ticketAttachments));
        }