public void StartSend(string mlid) { String vbCrLf = "\r\n"; String vbTab = "\t"; NewMessage msg; inline imagescid = new inline(); string[] cids; imagescid.cidinclude(ref mailbody, WebEditorUtils.WebUserFilesPath, out cids); msg = new NewMessage(fromad, subject, mailbody, NewMessage.MessageType.Html); msg.AddHeader("X-Originating-IP", Request.UserHostAddress); msg.AddHeader("X-Originating-UA", Request.UserAgent); msg.AddHeader("Received", "from " + Request.UserHostName + " [" + Request.UserHostAddress + "]" + vbCrLf + vbTab + "by " + Request.Url.Host + " [" + Request.ServerVariables["LOCAL_ADDR"] + "] (Digita.MimeParser) via HTTP;" + vbCrLf + vbTab + DateTime.UtcNow.ToString(@"ddd, dt MMM yyyy HH\:mm\:ss", new CultureInfo("en-US")) + " +0000"); msg.AddRecipient("*****@*****.**", NewMessage.RecipientTypes.To); foreach (string ss in cids) { if (ss != null) { string localfilename; localfilename = Path.Combine(WebEditorUtils.RootUserFilesPath, ss.Replace('/', Path.DirectorySeparatorChar)); msg.AddAttachment(localfilename, ss.Substring(ss.LastIndexOf("/") > 0 ? ss.LastIndexOf("/") + 1 : ss.LastIndexOf("/")), StaticFunctions.ContentTypeMatch(ss), NewMessage.Encodings.Base64, true); } } DataTable dtAttach = DatabaseConnection.CreateDataset("SELECT FILEMANAGER.ID, FILEMANAGER.FILENAME, FILEMANAGER.GUID FROM FILEMANAGER RIGHT OUTER JOIN ML_ATTACHMENT ON FILEMANAGER.ID = ML_ATTACHMENT.FILEID WHERE ML_ATTACHMENT.MLID = " + int.Parse(ViewState["mailid"].ToString())).Tables[0]; if (dtAttach.Rows.Count > 0) { string fileName; fileName = ConfigSettings.DataStoragePath + Path.DirectorySeparatorChar + dtAttach.Rows[0]["guid"].ToString() + Path.GetExtension(dtAttach.Rows[0]["filename"].ToString()); if (File.Exists(fileName)) { msg.AddAttachment(fileName, dtAttach.Rows[0]["filename"].ToString(), "application/octet-stream", NewMessage.Encodings.Base64, false); } } string templatePath = Path.Combine(Request.PhysicalApplicationPath + "template", "mailing"); string templateFilename = "tustena_signature.htm"; string templateFileNamePlain = "tustena_signature.txt"; string signature = String.Empty; string signaturePlain = String.Empty; if (File.Exists(Path.Combine(Path.Combine(templatePath, UC.CultureSpecific), templateFilename))) { templateFilename = Path.Combine(Path.Combine(templatePath, UC.CultureSpecific), templateFilename); } else { templateFilename = Path.Combine(templatePath, templateFilename); } if (File.Exists(templateFilename)) { StreamReader objReader = new StreamReader(templateFilename); signature = objReader.ReadToEnd(); objReader.Close(); } if (File.Exists(Path.Combine(Path.Combine(templatePath, UC.CultureSpecific), templateFileNamePlain))) { templateFileNamePlain = Path.Combine(Path.Combine(templatePath, UC.CultureSpecific), templateFileNamePlain); } else { templateFileNamePlain = Path.Combine(templatePath, templateFileNamePlain); } if (File.Exists(templateFileNamePlain)) { StreamReader objReader = new StreamReader(templateFileNamePlain); signaturePlain = objReader.ReadToEnd(); objReader.Close(); } DataRow myCompany; myCompany = DatabaseConnection.CreateDataset("SELECT COMPANYNAME,ADDRESS,ZIPCODE,CITY,STATE FROM TUSTENA_DATA").Tables[0].Rows[0]; signature = signature.Replace("%COMPANY%", myCompany[0].ToString()); signature = signature.Replace("%ADDRESS%", myCompany[1].ToString()); signature = signature.Replace("%CAP%", myCompany[2].ToString()); signature = signature.Replace("%COUNTRY%", myCompany[3].ToString()); signature = signature.Replace("%STATE%", myCompany[4].ToString()); signature = signature.Replace("%MLID%", mlid); signaturePlain = signaturePlain.Replace("%COMPANY%", myCompany[0].ToString()); signaturePlain = signaturePlain.Replace("%ADDRESS%", myCompany[1].ToString()); signaturePlain = signaturePlain.Replace("%CAP%", myCompany[2].ToString()); signaturePlain = signaturePlain.Replace("%COUNTRY%", myCompany[3].ToString()); signaturePlain = signaturePlain.Replace("%STATE%", myCompany[4].ToString()); signaturePlain = signaturePlain.Replace("%MLID%", mlid); msg.AddSignature(signature, signaturePlain); string message; switch (ConfigSettings.SpoolFormat) { case "xmail": message = msg.ToString(NewMessage.MessageFormats.XMailSpool); break; case "mssmtp": message = msg.ToString(NewMessage.MessageFormats.MSSMTPSpool); break; default: message = msg.ToString(NewMessage.MessageFormats.RFC822); break; } SpoolMail(message); if (CreateActivity.Checked) { CreateMailActivity(); } if (ViewState["fromwelcome"] != null && isGoBack) { GoBackClick(); } }