Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using Renci.SshNet;
- using SendGrid;
- using SendGrid.Helpers.Mail;
- using System;
- using System.IO;
- using System.Linq;
- namespace PlayBall
- {
- internal class Program
- {
- private static void Main(string[] args)
- {
- var _sendGridApiKey = "";
- Console.WriteLine("Connecting...");
- using (var sftpClient = new SftpClient("server", "user", new PrivateKeyFile("rsa.key")))
- {
- sftpClient.Connect();
- var files = sftpClient.ListDirectory("/directory");
- var mostRecentFile = files.OrderByDescending(f => f.Name).FirstOrDefault();
- if (mostRecentFile == null)
- {
- Console.WriteLine("Failed to get most recent file.");
- return;
- }
- Console.WriteLine($"{mostRecentFile.Name}");
- using (var ms = new MemoryStream())
- {
- sftpClient.DownloadFile(mostRecentFile.FullName, ms);
- var fileContents = Convert.ToBase64String(ms.ToArray());
- var mailClient = new SendGridClient(_sendGridApiKey);
- var msg = new SendGridMessage()
- {
- From = new EmailAddress("user@example.com", "Example User"),
- Subject = "Recent File",
- PlainTextContent = "Attached is the most recent file by name.",
- };
- msg.AddTo(new EmailAddress("anotheruser@example.com"));
- msg.AddAttachment(mostRecentFile.Name, fileContents);
- var response = mailClient.SendEmailAsync(msg).Result;
- Console.WriteLine(response.StatusCode);
- }
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment