locked
Почтовый клиент 1С и Exchange 2010 RRS feed

  • Вопрос

  • Здравствуйте!

    Включил pop3 и imap4 службы. Настроил учётную запись в 1С, там же есть проверка, прошла успешно. Письма из 1С отправляются только на наши ящики (внутри домена), на внешние ошибка "Почтовый ящик не доступен (SMTP error code 550, 5.7.1 Unable to relay)"

    Статью Алексея прочёл, там в комментариях затронута тема, но решение не внушает доверия (не хочется в политики лезть).

    Почему письма не уходят на внешние ящики?

    Вообще в статье написано, что это небезопасний способ, может быть есть пример настройки хотябы более-меннее обеспечивающий безопасность?

    Конфигурация: Сервер в домене, egde нет.




    • Изменено Andrey14 17 апреля 2012 г. 8:45
    17 апреля 2012 г. 8:43

Ответы

  • Андрей, дело не в том что Exchange не позволяет отправлять. а в том что по умолчанию Exchange не работает как опенрелей, то есть не позволяет отправлять не аутентифицированным пользователям сообщения в наружу чтобы его не использовали для спам рассылок.

    Вариантов решения 2: 

    1. Создать специальный коннектор и на нем разрешать анонимам отправлять в мир
    2. Создать для какой-то системы отдельную учетную запись и заставить её аутентифицироваться перед сервером перед отправкой чтобы он перестал быть для Exchange непонятно кем.

    В случае 1с  все усугубляется еще и самой программой т.к. 1С не умеет подымать шифрованный smtp туннель, а именно в таком случае доступна базовая аутентификация по логину и паролю.

    Попробуйте в  дополнительных настройках сервера в 1С указать что  аутентификация по smtp аналогичная серверу входящей почты. Еще уберите в разрешениях вновь созданного коннектора всех кроме пользователей Exchange

    Если и это не приведет к успеху то попробуйте отправить с сервера 1С тестовое письмо через telnet и посмотрите можете ли вы пройти аутентификацию на smtp сервере через консоль.

    • Помечено в качестве ответа Andrey14 11 марта 2014 г. 13:13
    10 марта 2014 г. 13:58
  • А отправляет он от пользователя которым авторизируется?

    если да. то псмотрите есть ли в AD на пользователя этого права "Send As" для Self


    Мой скромный Блог

    • Помечено в качестве ответа Andrey14 17 апреля 2012 г. 11:37
    17 апреля 2012 г. 11:25

Все ответы

  • Я никак не пойму, почему речь идёт об анонимных пользователях? 1С в домене, для отправки почты авторизуется...
    17 апреля 2012 г. 10:11
  • Андрей, речь идет об анонимных пользователях по причине того что в 90 случаях из 100 ответ 550, 5.7.1 Unable to relay означачет что пользователь аноним и если вы специально не настраивали ваш сервер на Open relay то отправки не будет.

    1. Проверьте настройки 1с, авторизируется ли он перед отправкой
    2. Настройте учетку 1с у себя на Outlook и попытайтесь выполнить отправку во вне организации
    3. Можно конечно настроить коннектор  для сервера 1с и заведомо доверять всем письмам с него, но это немного не безопасно. Тем более что для 1с вы специально создали учетку.
    17 апреля 2012 г. 10:47
  • Поставил в настройках почтового клиента 1С галку требуется SMTP аутентификация, теперь никуда не отправляется:

    Почтовый ящик не доступен (SMTP error code 550, 5.7.1 Client does not have permissions to send as this sender)

    учётную запись отдельно не заводил, пусть пользователи со своих ящиков и отправляют документы. Коннектор отдельный пока не создаю, может другие решения будут

    17 апреля 2012 г. 11:22
  • А отправляет он от пользователя которым авторизируется?

    если да. то псмотрите есть ли в AD на пользователя этого права "Send As" для Self


    Мой скромный Блог

    • Помечено в качестве ответа Andrey14 17 апреля 2012 г. 11:37
    17 апреля 2012 г. 11:25
  • Сам бы не догадался.... Спасибо !!! Заработало!!!

    17 апреля 2012 г. 11:37
  • Мне помогло следующее:

    1. Создал анонимный коннектор получения (с указанием IP 1C сервера) 1CServer

    2. Get-ReceiveConnector “1CServer” | Add-ADPermission -User “NT AUTHORITY\ANONYMOUS LOGON” -ExtendedRights “Ms-Exch-SMTP-Accept-Any-Recipient”

    Для русской винды: 

    Get-ReceiveConnector "1CServer" | Add-ADPermission -User "АНОНИМНЫЙ ВХОД" -ExtendedRights "Ms-Exch-SMTP-Accept-Any-Recipient"

    Результат отработки следующий:

    Identity             User                 Deny  Inherited
    --------             ----                 ----  ---------
    EXCH01\1CServer  NT AUTHORITY\АНОН... False False

    Всё заработало.



    5 августа 2013 г. 10:54
  • Добрый день!

    Опять та же проблема, не стал заводить новую тему.

    Echange2013. Настраиваю отправку почты в 1С. Создал для этой цели почтовый ящик sale@my.ru.

    на exchange запустил службы MSExchangePop3 и ExchangePOP3BE.

    В 1С тест проходит, успешно.

    На почтовые ящики своего домена отправляет без проблем, а на внешние - нет.

    Ошибка: "Почтовый ящик не доступен (SMTP error code 550)"

    Что это может значить? Помогите разобраться!

    7 марта 2014 г. 10:41
  • Посмотрите настройки коннектора к которому подключается 1С. Если в настройках стоит "Offer Basic authentication only after starting TSL"  то работать и не будет. Мегапродукт 1C не умеет подымать шифрованный smtp, а  базовая аутентификация с данной настройкой включается только после включения шифрования.
    7 марта 2014 г. 13:59
  • Вот настройки соединителя отправки.

    7 марта 2014 г. 23:21
  • Андрей, вам нужен не соединитель отправки, а соединитель приема.

    Создайте для IP адреса 1С сервера отдельный соединитель приема где настройте базовую аутентификацию без TLS.
    8 марта 2014 г. 9:24
  • Всё равно не отправляет на внешние, ошибка та же.

    Вот настройки коннектора получения:

    192.168.125.125 это сервер 1С

    8 марта 2014 г. 15:38
  • Пожалуйста включите логирование на данном коннекторе и выложите лог отправки сообщения сервером
    9 марта 2014 г. 6:19
  • Я не знаю в каком журнале искать своё сообщение.

    Ведение журнала в коннекторе включено.

    Отправляю сообщение из 1С, после этого проверяю все журналы и не нахожу ничего только что созданного.

    • %ExchangeInstallPath%TransportRoles\Logs\Hub\ProtocolLog\SmtpReceive
    • %ExchangeInstallPath%TransportRoles\Logs\Mailbox\ProtocolLog\SmtpReceive
    • %ExchangeInstallPath%TransportRoles\Logs\FrontEnd\ProtocolLog\SmtpReceive
    • %ExchangeInstallPath%TransportRoles\Logs\Hub\ProtocolLog\SmtpSend
    • %ExchangeInstallPath%TransportRoles\Logs\Mailbox\ProtocolLog\SmtpSend
    • %ExchangeInstallPath%TransportRoles\Logs\FrontEnd\ProtocolLog\SmtpSend

    В этом журнале  нашёл только одно упоминание о внешнем ящике, на который пытаюсь отправить из 1С, но событие ещё 8 часовой давности

    %ExchangeInstallPath%TransportRoles\Logs\FrontEnd\ProtocolLog\SmtpReceive

    2014-03-09T00:10:03.595Z,MAIL\Default Frontend MAIL,08D1093FF9C12CD7,42,192.168.125.130:25,192.168.125.125:54836,<,MAIL FROM:sale@mydomain.ru,
    2014-03-09T00:10:03.595Z,MAIL\Default Frontend MAIL,08D1093FF9C12CD7,43,192.168.125.130:25,192.168.125.125:54836,*,08D1093FF9C12CD7;2014-03-09T00:09:58.314Z;1,receiving message
    2014-03-09T00:10:03.595Z,MAIL\Default Frontend MAIL,08D1093FF9C12CD7,44,192.168.125.130:25,192.168.125.125:54836,>,250 2.1.0 Sender OK,
    2014-03-09T00:10:03.595Z,MAIL\Default Frontend MAIL,08D1093FF9C12CD7,45,192.168.125.130:25,192.168.125.125:54836,<,RCPT TO:<mymail@gmail.com>,
    2014-03-09T00:10:03.642Z,MAIL\Default Frontend MAIL,08D1093FF9C12CD7,46,192.168.125.130:25,192.168.125.125:54836,*,Tarpit for '0.00:00:05',
    2014-03-09T00:10:08.658Z,MAIL\Default Frontend MAIL,08D1093FF9C12CD7,47,192.168.125.130:25,192.168.125.125:54836,>,550 5.7.1 Unable to relay,
    2014-03-09T00:10:08.658Z,MAIL\Default Frontend MAIL,08D1093FF9C12CD7,48,192.168.125.130:25,192.168.125.125:54836,<,QUIT,
    2014-03-09T00:10:08.658Z,MAIL\Default Frontend MAIL,08D1093FF9C12CD7,49,192.168.125.130:25,192.168.125.125:54836,>,221 2.0.0 Service closing transmission channel,
    2014-03-09T00:10:08.658Z,MAIL\Default Frontend MAIL,08D1093FF9C12CD7,50,192.168.125.130:25,192.168.125.125:54836,-,,Local

    Гдё ещё посмотреть?

    9 марта 2014 г. 7:55
  • Лог правильный, 1С не авторизуется перед сервером.

    Проверьте настройки 1С

    9 марта 2014 г. 8:25
  • Вот настройки 1С, что может быть не так?

    9 марта 2014 г. 11:15
  • > Гдё ещё посмотреть?

    В вашем логе видно- 550 5.7.1 Unable to relay,

    Отправьте сообщение на внутренний адрес организации, и оно уйдет. Если Вы упорно желаете отправлять такие сообщения наружу (что я бы не рекомендовал)- Вам нужно воспользоваться советом Романа и изменять разрешения на коннеторе, используя Powershell.

    9 марта 2014 г. 13:47
  • Больше всего мне хочется настроить и понять безопасный способ отправки документов из 1С через Exchange 2013.

    Ранее на 2010 мне посоветовали добавить в AD на пользователя права "Send As" для Self - помогло, хотя не совсем понял что это означает. На 2013 не помогло.

    Очень много организаций отправляют документы из 1С. Неужели в таком популярном почтовом сервере не предусмотрена возможность отправки почты от сторонних клиентов? Сейчас почту не шлют только ленивые устройства. (IP камеры шлют, ИБП шлют, сигнализации шлют и т.д.).

    Я думаю решение моего вопроса довольно просто, я просто что-то не так делаю... и много чего ещё не знаю, но очень хочу узнать и понять.

    Сообщения нужно посылать именно наружу т.к. нет никакого смысла посылать документы самим себе. Использование 1С подразумевает взаимодействие с клиентом, которого нет у нас в домене.

    9 марта 2014 г. 14:13
  • Андрей, дело не в том что Exchange не позволяет отправлять. а в том что по умолчанию Exchange не работает как опенрелей, то есть не позволяет отправлять не аутентифицированным пользователям сообщения в наружу чтобы его не использовали для спам рассылок.

    Вариантов решения 2: 

    1. Создать специальный коннектор и на нем разрешать анонимам отправлять в мир
    2. Создать для какой-то системы отдельную учетную запись и заставить её аутентифицироваться перед сервером перед отправкой чтобы он перестал быть для Exchange непонятно кем.

    В случае 1с  все усугубляется еще и самой программой т.к. 1С не умеет подымать шифрованный smtp туннель, а именно в таком случае доступна базовая аутентификация по логину и паролю.

    Попробуйте в  дополнительных настройках сервера в 1С указать что  аутентификация по smtp аналогичная серверу входящей почты. Еще уберите в разрешениях вновь созданного коннектора всех кроме пользователей Exchange

    Если и это не приведет к успеху то попробуйте отправить с сервера 1С тестовое письмо через telnet и посмотрите можете ли вы пройти аутентификацию на smtp сервере через консоль.

    • Помечено в качестве ответа Andrey14 11 марта 2014 г. 13:13
    10 марта 2014 г. 13:58
  • Спасибо за пояснение, хочу прибавить к совету коллеги маленькое дополнение. Если Вы за безопасность и мир во всем мире, то я бы посоветовал сделать вот что, чтобы раскрыть для понимания ситуацию:

    1) Создайте внутренний ящик, как я и советовал, и отправляйте почту на него.

    2) Раз письмо  уже попало к Вам в организацию, то Вы можете правилами далее сделать с ним что угодно. Например, пересылать его наружу на Ваш гмайл- и в этом не будет ничего плохого. тк это не будет релеем с точки зрения почтового сервера.Exchange просто оберегает вас от ошибок, не более.

    Итак- внутрь+ правило пересылки- без правки коннекторов.

    11 марта 2014 г. 5:30
  • Спасибо, заработало!

    Exchange стоит на виртуальной машине, на которой выполнялась команда sysprep, после чего, скорее всего, слетел guid сетевого адаптера и Echange не видел ДНС сервера. Не мог сначала разобраться почему почта доходила только через час-три или не доходила, поствил галку "использовать внешние ДНС" на коннекторе отправки, только эти ДНС не указал. Странно как вообще почта ходила. Устранил.

    Создал новый коннектор для сервера 1С, разрешил только пользователей Exchange. В 1С поставил "аутентификация по smtp аналогичная серверу входящей почты". Всё!

    В этом случае всё сделано правильно/безопасно, или есть ещё слабые места?

    Коннектор на скрине выше правильно настроен? Странно, что из 1С теперь почта ходит, из вне почта перестала приходить... Выключаю коннектор - работает...


    • Изменено Andrey14 11 марта 2014 г. 14:01
    11 марта 2014 г. 13:35
  • Да, конечно за безопасность!

    Не совсем понятно про правила пересылки в моём случае. Документы пересылаются разным покупателям. Получается в правило пересылки придётся добавлять нового покупателя перед тем как 1С отправит ему документы... или я нет так понял?

    11 марта 2014 г. 13:38
  • Доброго времени суток всем!

    У меня точно такая же проблема.

    Ни один из представленных советов не помогает.

    Права "Send as" для self стоят, в принципе не понимаю, как они могут не стоять? Exch по умолчанию их ставит, разве что специально снести их.

    Почта со всех устройств ходит (МФУ, сервера и.т.п.) , а эта ... 1С ни в какую не хочет.

    Создал спец учетку для 1С. В 1С тест почтового ящика проходит на ура. 

    Стоит галка "Требуется вход на сервер перед отправкой".

    Создал спец. коннектор получения для всей внутренней подсети. Менял и анонимус и пользователи Exch, В итоге все одно:

    SMTP error code 550: Почтовый ящик не доступен.

    Если добавить ящик в аутлук, то все работает и отправляет куда хочешь, через 1С только на внутренние адреса, на внешние: 550: Unable to relay!

    P.S. Exch 2007 & 1C Бух 8.3 (файловая)

    15 июня 2015 г. 14:28
  • Добрый день.

    Пробовали ли вы снимать требование поднятия TLS перед аутентификаций ?

    16 июня 2015 г. 7:01
  • добавлю сюда проблему,,но с 2003

    Пытаюсь заставить работать почтовый клиент 1С и exchange 2003, проблема в следующем.

    По внутренним адресам отправляет, на внешние не хочет, ругается на релей конкретнее

    SMTP error code 550  я понимаю, что это потому, что у меня не открытый релей.

    При этом я поднял рор3 конектор, и если я ставлю галочку перед отправкой аутентификация, то вообще ничего не происходит.

    где, что ещё можно донастроить?

    4 декабря 2015 г. 12:17