Поделиться через


Получатель не получает сообщения электронной почты, отправляемые пользователем Microsoft Dynamics CRM с помощью веб-клиента Microsoft Dynamics CRM

В этой статье предлагается решение проблемы, в случае которой получатель не может получать сообщения электронной почты, отправляемые через веб-клиент Microsoft Dynamics CRM.

Область применения: Microsoft Dynamics CRM 2011
Исходный номер базы знаний: 915827

Симптомы

Когда пользователь Microsoft Dynamics CRM отправляет сообщение электронной почты с помощью веб-клиента Microsoft Dynamics CRM 2011, сообщение электронной почты отправляется или помещается в очередь. Однако если проблема возникает при отправке сообщения электронной почты, пользователь получает одно из следующих сообщений об ошибках в действии электронной почты.

Сообщение об ошибке 1

Это сообщение еще не отправлено для доставки. 1 попытки были сделаны до сих пор.

Сообщение об ошибке 2

Сбой доставки сообщения. Его необходимо повторно отправить для дальнейшей обработки.

Кроме того, вы получите сообщение об ошибке, похожее на следующее в журнале событий MSCRMEmailLog:

Тип события:Error
Источник события:MSCRMEmailLog
Категория событий:None
Идентификатор события:0
Дата: Дата
Время: время
Пользователь: Не применимо
Компьютер: ComputerName
Описание: #61042 — произошла ошибка при обработке исходящего электронного письма с темой "test 3 today CRM:0001011" для SMTP: https://adsrv:81/MS1 для доставки через adsrv. System.Net.Mail.SmtpException: сбой отправки почты. >--- System.Net.WebException: не удается подключиться к удаленному серверу --->
System.Net.Sockets.SocketException: подключение не может быть сделано, так как целевой компьютер активно отказался от него.
в System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
в System.Net.Sockets.Socket.InternalConnect(EndPoint remoteEP)
в System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception)
--- Конец трассировки внутреннего стека исключений ---
at System.Net.ServicePoint.GetConnection(PooledStream PooledStream, object owner, Boolean async, IPAddress& address, Socket&abortSocket, Socket& abortSocket6, Int32 timeout)
в System.Net.PooledStream.Activate(Объект owningObject, Логическое async, Целое timeout, ОбщийАсинхронныйДелегат asyncCallback)
в System.Net.PooledStream.Activate(Object owningObject, GeneralAsyncDelegate asyncCallback)
в System.Net.ConnectionPool.GetConnection(Object owningObject, GeneralAsyncDelegate asyncCallback, Int32 creationTimeout)
на System.Net.Mail.SmtpConnection.GetConnection(хост String, порт Int32)
в System.Net.Mail.SmtpTransport.GetConnection(String host, Int32 port)
в System.Net.Mail.SmtpClient.GetConnection()
в System.Net.Mail.SmtpClient.Send(MailMessage message)
--- Конец трассировки внутреннего стека исключений ---
в System.Net.Mail.SmtpClient.Send(MailMessage message)
на сайте Microsoft.Crm.Tools.Email.Providers.SmtpPollingSendEmailProvider.SendMessage(MailMessage mailMessage)
в Microsoft.Crm.Tools.Email.Providers.SmtpPollingSendEmailProvider.ProcessMessageInternal(email emailMessage)
в Microsoft.Crm.Tools.Email.Providers.CrmPollingSendEmailProvider.ProcessMessage(email emailMessage)
в Microsoft.Crm.Tools.Email.Providers.CrmPollingSendEmailProvider.Run()

Дополнительные сведения см. в https://go.microsoft.com/fwlink/events.aspцентре справки и поддержки.

Причина

Microsoft Dynamics CRM использует локальный SMTP-сервер для пересылки сообщений электронной почты на сервер Exchange Server. Эта проблема может возникать по одной из следующих причин:

  • Конфигурация SMTP на сервере Microsoft Dynamics CRM не настроена для пересылки сообщений электронной почты на сервер Exchange Server.
  • Сервер Exchange не настроен таким образом, чтобы разрешить ретрансляцию сообщений с сервера Microsoft Dynamics CRM.

Решение

Устранить проблему можно так:

Шаг 1. Настройка SMTP на сервере Microsoft Dynamics CRM для пересылки сообщений электронной почты на сервер Exchange Server

  1. На сервере Microsoft Dynamics CRM откройте службы IIS. Для этого выберите «Пуск», выберите «Администрирование», а затем выберите «Менеджер служб IIS (Интернет-службы)».
  2. В диспетчере служб IIS разверните виртуальный SMTP-сервер по умолчанию, щелкните правой кнопкой мыши Домены, наведите указатель на Создать, а затем выберите Домен.
  3. В мастере создания SMTP выберите "Удаленный" в разделе "Указать тип домена" и нажмите кнопку "Далее".
  4. Введите доменное имя в поле "Имя ", а затем нажмите кнопку "Готово".
  5. В правой области щелкните правой кнопкой мыши имя домена, которое вы добавили в шагах 2–4, а затем выберите "Свойства".
  6. На вкладке "Общие" установите флажок "Разрешить ретрансляцию входящих сообщений в этот домен", а затем выберите "Переадресовать всю почту на смарт-хост". В поле "Переадресация всей почты на умный узел" введите имя сервера Exchange и нажмите кнопку "ОК".
  7. Перезапустите службу SMTP на сервере Microsoft Dynamics CRM. Для этого нажмите кнопку "Пуск", выберите "Администрирование" и выберите "Службы". Щелкните правой кнопкой мыши простой протокол передачи почты (SMTP) и нажмите кнопку "Перезапустить".

Шаг 2. Настройка сервера Exchange для разрешения пересылки сообщений с сервера Microsoft Dynamics CRM.

Exchange Server 2003

Если вы используете Microsoft Exchange Server 2003, сначала необходимо настроить ограничения ретранслятора, а затем проверить элемент управления подключениями.

Настройка ограничений ретранслятора
  1. Выберите "Пуск", наведите указатель на программы, наведите указатель на Microsoft Exchange и выберите System Manager.

  2. Выберите серверы, выберите имя сервера Exchange Server, выберите протоколы и выберите SMTP.

  3. Щелкните правой кнопкой мыши виртуальный сервер SMTP по умолчанию, выберите "Свойства" и перейдите на вкладку "Доступ ".

  4. В области ограничений ретрансляции выберите Ретрансляция.

  5. Убедитесь, что выбран только приведенный ниже список, а затем добавьте сервер Microsoft Dynamics CRM в список.

    Если вы используете Microsoft Dynamics CRM 2011, убедитесь, что в список добавлен сервер, на котором установлен маршрутизатор Exchange.

  6. Перезапустите службу SMTP. Для этого выполните следующие шаги.

    1. Выберите Пуск, наведите указатель на Программы, наведите указатель на Административные инструменты, и выберите Службы.
    2. Щелкните правой кнопкой мыши простой протокол передачи почты (SMTP) и нажмите кнопку "Перезапустить".
Контроль подключений
  1. Выберите "Пуск", наведите указатель на программы, наведите указатель на Microsoft Exchange и выберите System Manager.

  2. Выберите серверы, выберите имя сервера Exchange Server, выберите протоколы и выберите SMTP.

  3. Щелкните правой кнопкой мыши виртуальный сервер SMTP по умолчанию, выберите "Свойства" и перейдите на вкладку "Доступ ".

  4. В области управления подключениями выберите "Подключение".

  5. По умолчанию выбран параметр All, кроме списка ниже . Если сервер Microsoft Dynamics CRM добавляется в этот список, необходимо обратиться к администратору Exchange, чтобы определить причину добавления сервера Microsoft Dynamics CRM.

    Примечание.

    Чтобы сообщения электронной почты Microsoft Dynamics CRM работали правильно, сервер Microsoft Dynamics CRM должен иметь возможность подключаться к серверу Exchange Server.

  6. Если выбран только приведенный ниже список, необходимо добавить сервер Microsoft Dynamics CRM в список, чтобы разрешить подключение к серверу Exchange Server.

  7. Если вы внесли изменения в параметры управления подключением, перезапустите службу SMTP. Для этого выполните следующие шаги.

    1. Выберите Пуск, наведите указатель на Программы, наведите указатель на Административные инструменты, и выберите Службы.
    2. Щелкните правой кнопкой мыши простой протокол передачи почты (SMTP) и нажмите кнопку "Перезапустить".

Exchange Server 2007

Если вы используете Microsoft Exchange Server 2007, необходимо создать новый соединитель приема Exchange, настроить соединитель для анонимного пользователя, задать разрешения протокола для соединителя приема, а затем перезапустить транспортную службу Microsoft Exchange на сервере Exchange.

Создание приемного коннектора Exchange
  1. Откройте консоль управления Exchange.

  2. Откройте Конфигурацию сервера.

  3. Выберите Hub Transport.

  4. Щелкните правой кнопкой мыши соединители приёма и выберите новый соединитель приёма.

  5. Введите имя в поле "Имя ".

  6. В списке приемного соединителя "Выберите назначение для данного приемного соединителя" выберите "Внутренний", а затем нажмите "Далее".

  7. В разделе "Параметры удаленной сети" выберите "Добавить" и введите IP-адрес сервера Microsoft Dynamics CRM.

    Примечание.

    Если отображается значение 0.0.0.0-255.255.255.255,255, нажмите кнопку "Удалить".

  8. Нажмите Далее, выберите Создать, а затем выберите Готово.

Настройка соединителя для анонимного пользователя
  1. Щелкните правой кнопкой мыши на созданном соединителе Exchange и выберите «Свойства».
  2. Перейдите на вкладку "Группы разрешений".
  3. Убедитесь, что параметр "Указать, кому разрешено подключаться к Receive-коннектору" установлен на "Анонимные пользователи", нажмите "Применить", а затем "ОК".
Настройка разрешений протокола для приемного коннектора

Примечание.

Для выполнения этих действий необходимо установить средства поддержки Windows. Только опытный администратор должен использовать средство Adsiedit.msc.

  1. Запустите средство Adsiedit.msc.
  2. Разверните конфигурацию, разверните службы, разверните Microsoft Exchange, разверните CN= First Organization, разверните административные группы, разверните Exchange Administrative Group, разверните серверы, разверните протоколы, а затем разверните соединители получения SMTP.
  3. Щелкните правой кнопкой мыши на созданном соединителе Exchange и выберите «Свойства».
  4. Выберите вкладку Безопасность.
  5. Выберите анонимный вход.
  6. Установите флажок "Отправить сообщения любому получателю" и установите флажок "Принять авторитарного отправителя домена", нажмите кнопку "Применить" и нажмите кнопку "ОК".
Перезапустите службу транспорта Microsoft Exchange на сервере Exchange
  1. Нажмите кнопку "Пуск", выберите "Запустить", введите services.msc и нажмите кнопку "ОК".
  2. Щелкните правой кнопкой мыши службу транспорта Microsoft Exchange и выберите "Перезапустить".