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