Отправка электронной почты с вложениями размером › 4 МБ

Получение токена из приведенного ниже кода

var token = await GetAccessToken();
GraphServiceClient graphServiceClient =
  new GraphServiceClient($"{graphApi}/v1.0",
    new DelegateAuthenticationProvider(async(requestMessage) =>
    {
      requestMessage.Headers.Authorization =
        new AuthenticationHeaderValue("Bearer", token);
    })
  );

отправка электронной почты с использованием разрешения приложения с использованием

graphServiceClient.Users[fromAddress]
  .SendMail(message, false)
  .Request()
  .PostAsync().Wait();

И вложения были прикреплены при динамическом создании

attachments.Add(new FileAttachment
{
  ODataType = "#microsoft.graph.fileAttachment",
    ContentBytes = System.IO.File.ReadAllBytes(getAttachmentLocation() + attach.Name),
    ContentId = attach.Name,
    ContentType = "csv/html",
    Name = attach.Name,
    IsInline = false
});

Теперь проблема в том, что электронная почта не запускается, когда размер вложения превышает 4 МБ.

Может ли кто-нибудь помочь мне понять, как решить эту проблему?

Есть ли у нас что-нибудь, что на самом деле увеличивает порог этих 4 МБ или более новой версии Graph, которая поддерживает вложения > 4 МБ?


person User123    schedule 04.03.2021    source источник
comment
Это выглядит как дубликат stackoverflow.com/questions/41937359/large- 4 МБ файлов   -  person Marc LaFleur    schedule 04.03.2021
comment
Не используйте .Wait().   -  person Blindy    schedule 04.03.2021
comment
Я могу сохранить вложение как черновик в сообщении Outlook, но проблема, с которой я столкнулся, заключается в том, что почта не была отправлена. Получение сообщения об ошибке доставки в папке «Входящие». Как я могу отправить вложения с файлами ›3MB и ‹3MB в одном сообщении?   -  person User123    schedule 08.03.2021
comment
похоже, что если размер вложений меньше 3 МБ, электронная почта не будет запущена. После долгих исследований выяснилось, что это связано с тем, что длина запроса API составляет всего 4 МБ. Как мы можем увеличить это.   -  person User123    schedule 09.03.2021


Ответы (1)


Для отправки больших сообщений необходимо создать черновик сообщения, а затем добавить вложения. Если вложение больше 3 МБ, вы не можете отправить его одним запросом. Вместо этого используйте UploadSession, как описано здесь: https://docs.microsoft.com/en-us/graph/sdks/large-file-upload?tabs=csharp

person Fils    schedule 17.03.2021