Beispiel #1
0
        public static async Task SendMessage(ISesEvent evento)
        {
            SetMessageModel model = GetMessage(evento);

            req = SetMessage(model);
            await _Client.SendEmailAsync(req);
        }
Beispiel #2
0
        private static SetMessageModel GetMessage(ISesEvent evento)
        {
            SetMessageModel model = new SetMessageModel();

            model.RecipientEmail = evento.Mail.Destination.Find(t => t.Contains(evento.Mail.Tags.Email[0]));

            switch (evento.EventType)
            {
            case "Click":
                model.Subject     = "User clicked email";
                model.Body        = $"User {model.RecipientEmail} has clicked link {evento.Click.Link} at {evento.Click.timestamp}";
                model.SourceEmail = "*****@*****.**";
                break;

            case "Open":
                model.Subject     = "User open email";
                model.Body        = $"User {model.RecipientEmail} has opened {evento.Mail.CommonHeaders.Subject} email at {evento.Open.timestamp}";
                model.SourceEmail = "*****@*****.**";
                break;

            default:
                break;
            }
            return(model);
        }
Beispiel #3
0
        /// <summary>
        /// This method is called for every Lambda invocation. This method takes in an SNS event object and can be used
        /// to respond to SNS messages.
        /// </summary>
        /// <param name="evnt"></param>
        /// <param name="context"></param>
        /// <returns></returns>
        public async Task FunctionHandler(SNSEvent evnt, ILambdaContext context)
        {
            ISesEvent evento = JsonSerializer.Deserialize <SesEvent>(evnt.Records[0].Sns.Message);

            await SesService.SendMessage(evento);
        }