Класс модели Я использовал List и IFromFileCollection, но показывает ту же ошибку. Без вложений все работает нормально
public class EmailMessage
{
public string ReceiverMail { get; set; }
public string Subject { get; set; }
public string Content { get; set; }
public List<IFormFile> Attachments { get; set; }
}
Пост-действие: Я также использовал [FromForm], тогда он показывает 500 error
[HttpPost("send")]
public IActionResult Post([FromBody ]EmailMessage emailMessage)
{
try
{
var message = new MimeMessage();
message.To.Add(new MailboxAddress(emailMessage.ReceiverMail));
message.From.Add(new MailboxAddress(_emailConfiguration.SmtpUsername));
message.Subject = emailMessage.Subject;
var bodyBuilder = new BodyBuilder();
bodyBuilder.TextBody = emailMessage.Content;
if (emailMessage.Attachments != null && emailMessage.Attachments.Any())
{
byte[] fileBytes;
foreach (var attachment in emailMessage.Attachments)
{
using (var ms = new MemoryStream())
{
attachment.CopyTo(ms);
fileBytes = ms.ToArray();
}
bodyBuilder.Attachments.Add(attachment.FileName, fileBytes, ContentType.Parse(attachment.ContentType));
}
}
message.Body = bodyBuilder.ToMessageBody();
using (var emailClient = new SmtpClient())
{
emailClient.Connect(_emailConfiguration.SmtpServer, _emailConfiguration.SmtpPort, true);
emailClient.AuthenticationMechanisms.Remove("XOAUTH2");
emailClient.Authenticate(_emailConfiguration.SmtpUsername, _emailConfiguration.SmtpPassword);
emailClient.Send(message);
emailClient.Disconnect(true);
}
return Ok();
}
catch (Exception)
{
return NotFound("Not found");
}
}
Snapman snapsot когда я вызываю action с [FromBody] отображается код состояния 404 Не найдено