Для администратора

Не работает почтовая синхронизация для писем с общим размером более 30 MB

Материал предназначен для продвинутых пользователей. Если у вас есть вопросы по применению, обратитесь в Техническую поддержку BPMSoft.

Симптомы

При выполнении синхронизации почтовых сообщений, размер которых (включая тело письма и все вложения) превышает 30 МБ, возникает ошибка при обращении к эндпоинту ServiceModel/ExchangeListenerService.svc/NewEmail в BPMSoft.

В логах сервиса синхронизации почты регистрируются соответствующие ошибки с полным трассировочным следом (stack trace):

System.Net.Http.HttpRequestException: Error while copying content to a stream.
---> System.IO.IOException: Unable to read data from the transport connection: Broken pipe.
---> System.Net.Sockets.SocketException (32): Broken pipe
--- End of inner exception stack trace ---
	at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
	at System.Net.Security.SslStream.<WriteSingleChunk>g__CompleteAsync|210_1[TWriteAdapter](ValueTask writeTask, Byte[] bufferToReturn)
	at System.Net.Security.SslStream.WriteAsyncChunked[TWriteAdapter](TWriteAdapter writeAdapter, ReadOnlyMemory`1 buffer)
	at System.Net.Security.SslStream.WriteAsyncInternal[TWriteAdapter](TWriteAdapter writeAdapter, ReadOnlyMemory`1 buffer)
	at System.Net.Http.HttpConnection.WriteAsync(ReadOnlyMemory`1 source)
	at System.Net.Http.HttpContent.CopyToAsyncCore(ValueTask copyTask)
--- End of inner exception stack trace ---
	at System.Net.Http.HttpContent.CopyToAsyncCore(ValueTask copyTask)
	at System.Net.Http.HttpConnection.SendRequestContentAsync(HttpRequestMessage request, HttpContentWriteStream stream, CancellationToken cancellationToken)
	at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)
	at System.Net.Http.HttpConnectionPool.SendWithNtConnectionAuthAsync(HttpConnection connection, HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)
	at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)
	at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
	at System.Net.Http.DiagnosticsHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
	at System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)
	at ListenerBase.DataSend.EventClient.PostAsync(String requestUri, HttpContent content) in /src/ListenerBase/DataSend/EventClient.cs:line 43
	at ListenerBase.DataSend.EventDataSender.Send(String url, LoadEmailCommand data, Credentials credentials, String logInformation) in /src/ListenerBase/DataSend/EventDataSender.cs:line 147
	at ListenerBase.DataSend.EventDataSender.SendEmail(LoadEmailCommand data, SynchronizationCredentials credentials, String logInformation) in /src/ListenerBase/DataSend/EventDataSender.cs:line 168
	at ListenerBase.Email.Load.BaseEventProcessor.SendRequestObject(LoadEmailCommand requstDtoObject, SynchronizationCredentials credentials) in /src/ListenerBase/Email/Load/BaseEventProcessor.cs:line 159
	at ListenerBase.Email.Load.BaseEmailEventProcessor.SendEmailMessageToBpm(IEmail message, LoadMessageInfo loadmessageInfo, SynchronizationCredentials credentials) in /src/ListenerBase/Email/Load/BaseEmailEventProcessor.cs:line 90

В логах веб-сервера фиксируются ошибки с кодом 400 (Bad Request) при попытке обработки запросов. Это приводит к тому, что почтовые сообщения общим размером более 30 МБ не могут быть успешно загружены в BPMSoft.

Причина

В конфигурации приложения установлено ограничение на размер входящего запроса по умолчанию — 30 МБ (MaxRequestBodySizeBytes). При попытке отправки запроса из сервиса синхронизации почты на сторону BPMSoft, превышающего этот лимит, происходит разрыв соединения, что приводит к невозможности создания письма в BPMSoft.

Решение

Настройка размера вложения актуальна для BPMSoft версии .NET 8.

Порядок действий:

  1. Открыть файл конфигурации.
  2. В секцию <appSettings> добавить следующую строку:
    <add key="MaxRequestBodySizeBytes" value="{value}" />
    где {value} - желаемое значение ограничения в байтах

По умолчанию максимальный размер обрабатываемого запроса составляет 30 МБ. Данная настройка определяет верхний предел размера запроса, который может быть обработан на стороне BPMSoft.

Рекомендуем изучить

Сервис синхронизации почты


Материал был полезен для вас?
Заявка на индивидуальный тренинг
Заявка на обучение в формате тренинга
Заявка на консультацию по обучению
Готовы сделать выбор CRM? (детальная)
Оставьте заявку, и наши эксперты бесплатно проконсультируют вас, подберут подходящую конфигурацию и рассчитают стоимость проекта.
Предпочитаемый способ связи
Готовы сделать выбор CRM?
Оставьте заявку, и наши эксперты бесплатно проконсультируют вас, подберут подходящую конфигурацию и рассчитают стоимость проекта.
Предпочитаемый способ связи
Вебинар: 25 июня в 11:00
Приглашаем вас на вебинар: BPMSoft CRM без отраслевых границ. От трейдинга до здравоохранения. Опыт и цифры
Готовы сделать выбор CRM? (детальная)
Оставьте заявку, и наши эксперты бесплатно проконсультируют вас, подберут подходящую конфигурацию и рассчитают стоимость проекта.
Предпочитаемый способ связи
Готовы сделать выбор CRM?
Оставьте заявку, и наши эксперты бесплатно проконсультируют вас, подберут подходящую конфигурацию и рассчитают стоимость проекта.
Предпочитаемый способ связи
Регистрация на мероприятие
Оставить заявку
Оставьте свои контакты и наш менеджер свяжется с Вами в ближайшее время.
Предпочитаемый способ связи
Демонстрационная версия BPMSoft
Заполните заявку для получения бесплатного доступа к демонстрационному стенду на 14 дней.
Типовое внедрение
Внедрите BPMSoft CRM в свою компанию всего за 8 рабочих дней по фиксированной цене! Заполните заявку для уточнения условий.
Предпочитаемый способ связи
Заказать презентацию
Наш менеджер свяжется с Вами в ближайшее время.
Предпочитаемый способ связи
Рассчитать стоимость
Предпочитаемый способ связи
Лучшие CRM-системы в России: выводы Фонда «Сколково»
Какие CRM выбирают крупнейшие российские компании? Скачайте исследование рынка CRM-систем 2026 от Фонда «Сколково» и TAdviser
Задать вопрос
Предпочитаемый способ связи
Есть вопросы?
Не нашли для себя подходящую вакансию, или остались вопросы?
*
Есть вопросы?
Не нашли для себя подходящую вакансию, или остались вопросы?
*
Присоединяйтесь к партнерской сети BPMSoft
Оставьте свои контакты и наш менеджер свяжется с Вами в ближайшее время
Тип партнерства*
Управление полным жизненным циклом клиента: от генерации лидов и продаж до внедрения, поддержки и продления подписки.
Разработка собственного Приложения – производного программного обеспечения, созданного на платформе BPMSoft (Базовое ПО).
Заявка на онлайн-консультации по BPMSoft
Оставьте свои контакты и наш менеджер свяжется с Вами в ближайшее время
Стать образовательным партнёром
Оставьте свои контакты и наш менеджер свяжется с Вами в ближайшее время.
Заявка на консультацию
Оставьте свои контакты и наш менеджер свяжется с Вами в ближайшее время.
Подписка
Спасибо!
Ваша заявка принята.
Спасибо!
Ваша заявка принята.
Наш сотрудник свяжется с вами в течение 1-2 рабочих дней.
Внимание!
Обнаружена ошибка.
Проверьте вашу почту
Проверьте вашу почту
Для завершения подписки перейдите по ссылке в письме, которое мы только что отправили. Если письма нет во «Входящих», проверьте папку «Спам».
MAX Подписаться
Уважаемые клиенты! Предупреждаем о случаях недобросовестной конкуренции и мошенничестве в сети Интернет.
Подробнее