Beispiel #1
0
        public void DoStartServer()
        {
            var listener = new HttpListener();

            listener.Prefixes.Add(uri);
            isStarted = true;
            listener.Start();

            var context = listener.GetContext();

            using (var reader = new StreamReader(context.Request.InputStream))
            {
                var body       = reader.ReadToEnd();
                var notifyData = new NotifyData();
                notifyData.Deserialize(body);
                if (notifyData.Type == NotifyType.Email)
                {
                    var json   = notifyData.Data.ToString();
                    var entity = JsonConvert.DeserializeObject <MailEntity>(json);
                    var agent  = new MailAgent();
                    agent.Send(entity);
                }
            }

            var output = context.Response.OutputStream;

            output.Flush();
            output.Close();
        }
        // POST: api/MailNotification
        public IHttpActionResult Post([FromBody] MailEntity entity)
        {
            try
            {
                var agent = new MailAgent(
                    new MailConfig
                {
                    SmtpServer = "*.com",
                    Port       = 25
                });

                CoerceEntity(entity);

                if (!agent.Send(entity))
                {
                    return(BadRequest());
                }

                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Beispiel #3
0
        public void MailAgent_Send_Success()
        {
            var entity = new MailEntity();

            entity.From = "tester@***.com";
            entity.To.Add("tester@***.com");
            entity.Subject = "This is test subject";
            entity.Body    = "This is test body";
            entity.Attachments.Add(MailAttachment.FromString("1.txt", "this is attachment data"));

            var agent = new MailAgent();

            agent.Send(entity);
        }