private string CreateEmailBody(EmailQueue emailQueue)
        {
            try
            {
                string body      = string.Empty;
                string directory = Directory.GetCurrentDirectory() + "/MailTemplate/" +
                                   EmailConfig.TEMPLATE_FILES[emailQueue.Template];

                using (StreamReader reader = new StreamReader(directory))
                {
                    body = reader.ReadToEnd();
                }

                body = body.Replace("{vakapayUrl}", EmailConfig.VAKAPAY_URL);
                body = body.Replace("{logoImgUrl}", EmailConfig.LOGO_IMG_URL);
                body = body.Replace("{mailImgUrl}", EmailConfig.MAIL_IMG_URL);
                body = body.Replace("{checkImgUrl}", EmailConfig.CHECK_IMG_URL);
                body = body.Replace("{hrImgUrl}", EmailConfig.HR_IMG_URL);
                body = body.Replace("{deviceImgUrl}", EmailConfig.DEVICE_IMG_URL);

                switch (emailQueue.Template)
                {
                case EmailTemplate.NewDevice:
                    body = body.Replace("{location}", emailQueue.DeviceLocation);
                    body = body.Replace("{ip}", emailQueue.DeviceIP);
                    body = body.Replace("{browser}", emailQueue.DeviceBrowser);
                    body = body.Replace("{authorizeUrl}", emailQueue.DeviceAuthorizeUrl);
                    break;

                case EmailTemplate.Sent:
                    body = body.Replace("{signInUrl}", emailQueue.SignInUrl);
                    body = body.Replace("{toAddress}", GetReceivedAddress(emailQueue));
                    body = body.Replace("{amount}", emailQueue.GetAmount());
                    break;

                case EmailTemplate.Received:
                    body = body.Replace("{signInUrl}", emailQueue.SignInUrl);
                    body = body.Replace("{networkName}", emailQueue.NetworkName);
                    body = body.Replace("{amount}", emailQueue.GetAmount());
                    body = body.Replace("{numberOfConfirmation}",
                                        EmailConfig.GetNumberOfNeededConfirmation(emailQueue.NetworkName));
                    break;

                case EmailTemplate.Verify:
                    body = body.Replace("{verifyEmailUrl}", emailQueue.VerifyUrl);
                    break;

                case EmailTemplate.ReceivedInternal:
                    body = body.Replace("{signInUrl}", emailQueue.SignInUrl);
                    body = body.Replace("{amount}", emailQueue.GetAmount());
                    body = body.Replace("{sender}", GetSender(emailQueue));
                    break;

                case EmailTemplate.Report:
                    //  body = body.Replace("{verifyEmailUrl}", emailQueue.VerifyUrl);
                    break;

                default:
                    throw new Exception("Template not defined");
                }

                return(body);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(null);
            }
        }