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();
            }
        }