Я использую приложение. NET CORE API с Промежуточным программным обеспечением , но мне нужно, чтобы Почта прочитала отдельные значения из Тела в Почтальоне И у меня было Промежуточное программное обеспечение Проверьте определенное значение в теле , например, (To :) сообщения электронной почты; и, если он удовлетворяет любым критериям, которые я хотел бы (POST) отправить электронное письмо предполагаемому получателю (Кому :) без базы данных .
Это как выглядит мой код до сих пор
using (StreamReader streamReader = new StreamReader(httpContext.Request.Body, encoding: Encoding.UTF8, detectEncodingFromByteOrderMarks: false, bufferSize: bufferSize, leaveOpen: true))
{
await streamReader.ReadToEndAsync();
//Do something
////From test
if (evaluate.IsSenderFromConfiguration() == true)
{
message.From = From;
}
message.To = new List<MailboxAddress> { new MailboxAddress("mail@mail.com")};
message.Subject = "Message From Create Middleware";
message.HtmlBody = "This is just a test of Middleware ";
await SendEmailAsync(message);
httpContext.Request.Body.Position = 0;
}
await httpContext.Response.WriteAsync(body);
await _next.Invoke(httpContext);
}
Вот сообщение от контроллера
[HttpPost]
public IActionResult Post([FromBody] Email email)
{
var message = new Email(_message.From, _message.To, _message.Subject, _message.HtmlBody);
if (message == null)
{
return NotFound();
}
return Ok(message);
}
Прямо сейчас у меня есть только то, что я сделал в Get, чтобы отправить электронное письмо. Как я могу получить его там, где в свойствах message.To , message.From, et c. может быть установлен пользователем / Я в Почтальоне, и если значение в сообщении. Для того, чтобы быть действительным, отправьте письмо?
Я думаю, что есть способ использовать httpContext.Request.Body как-то, но я не не знаю как. NET Ядро для установки каждого отдельного значения отдельно от класса Middleware.
Для пояснения: My Post Controller НЕ РАБОТАЕТ ДЛЯ ВАЛИДАЦИИ ФОРМ Middleware должен выполнять работу, а затем передавать ее к контроллеру после проверки. Вот где мне нужна помощь для класса Middleware.