Теперь я могу прикреплять файлы IFormFile к почте, не сохраняя их на сервере. Я конвертирую файлы в байтовый массив. Причина, по которой я конвертирую в байтовый массив, заключается в том, что мой веб-сайт находится в Azure, а Azure конвертирует файлы в байтовый массив. В противном случае я не смог открыть PDF-файлы. Было выброшено следующее сообщение об ошибке:
... оно было отправлено как вложение электронной почты и не было правильно декодировано.
Рабочий код:
[HttpPost("[action]")]
public IActionResult UploadFiles(IList<IFormFile> Files)
{
foreach (var file in Files)
{
if (file.Length > 0)
{
using (var ms = new MemoryStream())
{
file.CopyTo(ms);
var fileBytes = ms.ToArray();
Attachment att = new Attachment(new MemoryStream(fileBytes), file.FileName);
mail.Attachments.Add(att);
}
}
}
mail.To.Add("someemamil@hotmail.com");
mail.From = from;
mail.Subject = "subject";
mail.Body = "test";
mail.IsBodyHtml = true;
smtp.Send(mail);
mail.Dispose();