private async Task <SmtpClient> EmailConnection(string encryptedKey)
        {
            try
            {
                SmtpClient           client     = new SmtpClient("smtp.gmail.com", 587);
                EncryptionDecryption encryption = EncryptionDecryption.CreateInstance();

                if (!string.IsNullOrEmpty(encryptedKey))
                {
                    NetworkKeyDTO creds = JsonConvert.DeserializeObject <NetworkKeyDTO>(encryptedKey);
                    client.Credentials = new NetworkCredential(encryption.DecryptText(creds.EncryptedUserName, creds.EncryptedUserMessage),
                                                               encryption.DecryptText(creds.EncryptedKey, creds.EncryptedMessage));
                }

                return(client);
            }
            catch (Exception ep)
            {
                Console.WriteLine("failed to send email with the following error:");
                Console.WriteLine(ep.Message);
                throw ep;
            }
        }
Example #2
0
        private async Task <NetworkKeyDTO> GetNetworkConnectDetailsAsync()
        {
            logger.LogInformation("GetNetworkConnectDetailsAsync started");
            try
            {
                NetworkKeyDTO result       = new NetworkKeyDTO();
                string        assemblyFile = (new System.Uri(Assembly.GetExecutingAssembly().CodeBase)).LocalPath;
                logger.LogInformation(assemblyFile);
                var assemblyPath = string.Empty;
                if (assemblyFile.Contains("\\"))
                {
                    assemblyPath = assemblyFile.Substring(0, assemblyFile.LastIndexOf('\\')) + "\\Utility\\" + "ATMConnect.txt";
                    logger.LogInformation(assemblyPath);
                }
                else
                {
                    assemblyPath = assemblyFile.Substring(0, assemblyFile.LastIndexOf('/')) + "/Utility/" + "ATMConnect.txt";
                    logger.LogInformation(assemblyPath);
                }
                if (File.Exists(assemblyPath))
                {
                    var credentials = (await File.ReadAllLinesAsync(assemblyPath)).ToList();
                    logger.LogInformation(credentials.Aggregate((x, y) => x + "," + y));
                    result.EncryptedUserName    = credentials[0];
                    result.EncryptedUserMessage = "encryptionkey";
                    result.EncryptedKey         = credentials[1];
                    result.EncryptedMessage     = "encryptionkey";
                }

                return(result);
            }
            catch (Exception ex)
            {
                logger.LogError(ex.Message);
                throw;
            }
        }