//### callback check for Sample32 public ActionResult publish_callback() { // Get user info String infoFile = AppDomain.CurrentDomain.BaseDirectory + "user_info.txt"; System.IO.StreamReader userInfoFile = new System.IO.StreamReader(infoFile); String clientId = userInfoFile.ReadLine(); String privateKey = userInfoFile.ReadLine(); String email = userInfoFile.ReadLine(); userInfoFile.Close(); // Check is data posted if (Request.HttpMethod == "POST") { //Get data from request System.IO.StreamReader reader = new System.IO.StreamReader(Request.InputStream); String jsonString = reader.ReadToEnd(); var data = System.Web.Helpers.Json.Decode(jsonString); //Get form Id String formId = data.SourceId; formId = formId.Replace(" ", ""); // Create service for Groupdocs account GroupdocsService service = new GroupdocsService("https://api.groupdocs.com/v2.0", clientId, privateKey); //Make request to api for get document info by form id Groupdocs.Api.Contract.Signature.SignatureFormDocumentsResponse getDocument = service.GetFormDocuments(formId); //Get document name from form String name = getDocument.Result.Documents[0].Name; //Send email System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage(); mail.Subject = "Reminder: An envelope has to be signed on GroupDocs"; mail.From = new System.Net.Mail.MailAddress("*****@*****.**"); mail.To.Add(email); mail.Body = "Document" + name + " is signed"; System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("smtp.gmail.com", 587); smtp.EnableSsl = true; System.Net.NetworkCredential netCre = new System.Net.NetworkCredential("*****@*****.**", "svarog07"); smtp.Credentials = netCre; smtp.Send(mail); return View("publish_callback"); } // If data not posted return to template for filling of necessary fields else { String jobId = clientId + ":" + privateKey + ":" + email; return View("publish_callback", null, jobId); } }