public static void SendGridMessage(SendGridMessage message) { var userName = ConfigurationManager.AppSettings["SendGrid:UserName"]; var pwd = ConfigurationManager.AppSettings["SendGrid:Password"]; var fromAddress = ConfigurationManager.AppSettings["SendGrid:SenderAddress"]; var fromName = ConfigurationManager.AppSettings["SendGrid:SenderName"]; var recipients = ConfigurationManager.AppSettings["SendGrid:Recipients"].Split(';'); var baseUri = new Uri(baseUriString); var client = new RestClient(baseUri); client.AddDefaultHeader("Accept", "application/json"); string destinations = string.Empty; var requestApiUrl = $"api/mail.send.json"; var request = new RestRequest(requestApiUrl, Method.POST); request.AddParameter("api_user", userName); request.AddParameter("api_key", pwd); foreach (var recipient in recipients) request.AddParameter("to[]", recipient); request.AddParameter("subject", message.Subject); request.AddParameter("text", message.Text); request.AddParameter("from", fromAddress); request.AddParameter("fromname", fromName); var responseBGuest = client.Execute(request); if (responseBGuest.ErrorException != null) { var exception = responseBGuest.ErrorException; System.Console.WriteLine($"Bad response {exception}"); } }
public static void ResultLogAsync(string logMessage) { var sendgridMsg = new SendGridMessage { Subject = "Reservation import log", Text = logMessage }; SendGridMessage(sendgridMsg); }
internal static void ExceptionMessageAsync(string errorMessage, Exception exception) { var exceptionMessage = new SendGridMessage { Subject = "Import reservation exception report" }; var message = new StringBuilder(); message.AppendFormat("Message: {0}", errorMessage); message.AppendLine(); message.AppendFormat("Exception: {0}", exception.Message); message.AppendLine(); message.AppendFormat("Inner Exception: {0}", exception.InnerException?.Message); exceptionMessage.Text = message.ToString(); SendGridMessage(exceptionMessage); }