1с зависает отправка почты

Обновлено: 07.07.2024

Сейчас ставим коробку и столкнулись с проблемой, что почта из CRM не отправляется. Это связано с использованием демо-ключа (лицензию ещё не купили) или нужно смотреть на нашей стороне настройки?

Спасибо за статью!

Решил проверить в настройках системы, и вот что получил в ответ:

В качестве тестового текста письма передается исходный код скрипта проверки сайта.

Никакие пользовательские данные не передаются!

Обратите внимание, что тест не проверяет доставку письма в почтовый ящик. Более того, нельзя протестировать доставку почты на другие почтовые сервера.

Если время отправки письма больше секунды, это может значительно затормозить работу сайта. Обратитесь к хостеру с просьбой настроить отложенную отправку почты (через спулер) или включите передачу почты (и работу агентов) через cron. Для этого в dbconn.php надо добавить константу:
define('BX_CRONTAB_SUPPORT', true);

Затем на cron добавьте ежеминутное выполнение скрипта php /var/www/bitrix/modules/main/tools/cron_events.php .
(замените /var/www на свой путь к корню сайта).

Но если функция mail() в данном случае не отработала, с большой уверенностью можно утверждать, что передача почты стандартным способом php на сервере невозможна.

Цитата
Роман написал:
Решил проверить в настройках системы, и вот что получил в ответ:
К настройкам виртуальной машины доступа нет, есть только ssh-доступ. Зашёл на сервер под sudo, решил попробовать настроить по этой инструкции . Выяснилось, что zend-server не установлен.
Команда chkсonfig --list|grep postfix выдаёт следующее:

Ввожу \x5bpostfix\x5d.service - получаю \x5bpostfix\x5d.service
При попытке ввести service postfix status в окне терминала появляется следующее:

В итоге почта всё равно не работает. Не могу понять, что не так делаю
Пробовал установить zend-server, пишет, что такого пакета нет:


У нас свой сервер, просто человек, который его администрирует, ушёл в отпуск на 2 недели, а у сисадмина нет доступа к BitrixVM.
У Вас версия Enterprise? Там есть пункт в админке - Управление масштабированием, в нем можно и не заходя на сервер все настроить
А есть документация по управлению масштабированием?
Цитата
Роман написал:
А есть документация по управлению масштабированием?

Андрей Николаев, всё равно не работает.

Более того, портал начал жутко тормозить.

Как-то можно отключить масштабирование?

Цитата
Роман Гонюков написал:
Более того, портал начал жутко тормозить.

Нужно разобраться почему портал начал тормозить при включении почты. У Вас проверка сайта по-прежнему говори что ошибка с отправкой?

Портал вообще лёг

The script encountered an error and will be aborted. To view extended error messages, enable this feature in .settings.php .

Раньше у нас на сайте когда бывала такая проблема, админ говорил, что там что-то с mysql и памятью.

Я обновил mysql-сервер, но проблема не ушла.

Перед этим попробовал восстановить бэкап, и на свою голову решил не перезаписывать БД

Частично разобрались, почта приходит на бесплатные ящики, но вот до ящиков, которые на нашем домене, почему-то не долетает. Даже в спаме нет

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

Для того, чтобы настроить отправку отчётов на почту зайдите на закладку "Настройки программы" и нажмите кнопку "Уведомления":


Здесь нужно указать настройки, аналогичные тем, которые указываются для подключения внешнего почтового клиента для вашей почты, например, так:



Чтобы найти их наберите в яндексе или гугле что-то вроде "настройки почты gmail для outlook".

SSL

Что касается SSL. Как видите этого флажка в настройках нет, но это не значит, что он не поддерживается. Просто Обновлятор делает 2 попытки отправки письма - сначала с SSL, а затем без SSL.

Замечание про 465 порт

К сожалению, библиотека при помощи которой обновлятор отправляет письма не поддерживает порт 465 (implisit SSL). Используйте вместо него порт 587 (explisit SSL).

Двухфакторная авторизация

Почти все современные почтовые сервисы позволяют настраивать двухфакторную авторизацию для входа в почтовый ящик (дополнительное подтверждение входа через смс или приложение на телефоне).

В этом случае тот пароль, которым вы пользуетесь для входа в почту, уже нельзя использовать для сторонних приложений (типа обновлятора или почтового клиента).

И вам требуется перейти на специальную страницу почтового сервиса, чтобы создать там отдельный пароль для сторонних приложений. Именно этот (новый пароль) и нужно указать в настройках обновлятора.

Вот ссылки на страницы настройки паролей приложений для наиболее популярных почтовых сервисов:

Прикол от Яндекса (this user does not have access rights to this service)

Яндекс в последние годы показывают себя самыми настоящими редисками.

То эпопея с Яндекс.Диск, когда они молча обрубили возможность загрузки по WebDAV для сторонних приложений, при этом напрямую в этом не признавались. Поддержка просто издевалась над разработчиками и пользователями виляя в своих ответах.

Теперь этот прикол с отправкой почты через smtp, на который я сегодня бесплодно потратил большую часть дня, найдя решение совершенно случайно (спасибо тебе, kotyara33).

Итак, зайдите в настройки вашей почты на Яндексе:


На панеле в левой части окна нажмите ссылку "Почтовые программы":


С октября 2020 года, чтобы работал протокол smtp (это возможность отправки почты, которую в частности использует обновлятор) вам нужно обязательно в этом окне включить один из двух протоколов для приёма почты (IMAP или POP3). Вот такая вот у них интересная логика, которую они не описали в документации, а просто молча включили.

Я рекомендую включать IMAP, предварительно настроив для использования пароли приложений, тогда ваше окно будет выглядеть вот так:


В этом случае тот пароль, которым вы пользуетесь для входа в почту, уже нельзя использовать для сторонних приложений (типа обновлятора или почтового клиента).

И вам требуется перейти на специальную страницу почтового сервиса, чтобы создать там отдельный пароль для сторонних приложений. Именно этот (новый пароль) и нужно указать в настройках обновлятора.

Вот ссылка на страницу настройки паролей приложений:

После этого заработает отправка писем.

Ошибка "Базовое соединение закрыто, непредвиденная ошибка"

В этом случае зайдите в настройки почты, ссылка "Ещё. " справа от поля "Тема:":


В открывшемся диалоге.


. убедитесь, что у вас снята опция "Внешний IP-адрес".

Нет тот пользователь

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

Ничего не помогает

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

А что реально делается каждую минуту? Проверяется почта или ещё отправляется куча писем? Я к тому, что каких-нибудь ограничений яндекса не превышаете?

Fzero0

kalapanga, Да все дело в том что менеджеры по продажам цари и боги и их величество хотят что бы письма отправлялись сию секнду (получение почты в 1С не настроено только отправка), счетов выписывается много

nki

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

Fzero0

Константин Нагибович, Да мне глубоко плевать что они там требуют просто есть проблема ее надо решить главное что бы меня от моей работы не отвлекали а то приходится теперь одним глазом смотреть 1С отправляется почта или нет

nki

Виктор Л, вам уже дали дельный совет - посмотреть под отладчиком.

Виктор Л, Я бы тогда яндексовые нормы поискал или прямо в их техподдержке поинтересовался. Кто их знает, что они там считают. Может частоту обращений, может количество писем с адреса в день/час/. Дело-то житейское - выписан счёт, надо его отправлять. Но при этом ещё бы в спамеры не попасть.
И ещё, у Вас почта для домена или обычный адрес на яндексе? Тоже разные нормы могут быть.

Mi11er

kalapanga, если была бы ошибка от яндекса, она бы прилетала в журнал, а задача завершилась бы ошибкой. Тут же просто подвисает событие.

Fzero0

Denis Melnikov, Оно просто зависает по жескому даже после отмены оно продолжает висеть помогает только перезагрузка в журнале кстати не особо много инфы по этому событию

Mi11er

Если запустить не регламентом и пройти отладкой, все ок ?

Fzero0

не пробовал если честно, просто в терминальном режиме работает куча 'манагеров' кто его знает когда они там что отправляют но все нужно что бы почта мгновенно была у клиента
Получается нужно отключить регламентное задание и самому запускать его ?

Mi11er

Виктор Л, нужно хотя бы попробовать это сделать.
Выключаете регламент и запускаете процедуру/функцию в ручную, ту, что запускается регламентов и смотрите что происходит, если подвисает, то дебагом проходим и смотрим где.

Fzero0

Denis Melnikov, Про дебагер немного не понял это все делается через стандартные мех платформы? Я могу посмотреть журнал но и то что там будет, задание просто зависает и приходится его удалять Сервер 1С предприятие и то они продолжают там висеть до перезагрузки

Mi11er

Виктор Л, если ни когда не делали дебаг кода, то наверное стоит прочитать про него.
Это отладка, через точки останова в конфигураторе.
В журнале не будет ошибок, так как задача не завершена ни как.

Fzero0

Denis Melnikov, Свои простенькие обработки и отчеты я 'дебажил' я не работал 'дебагером' с регламентными заданиями:
Я правильно понимаю что мне нужно
сервер 1С должен запустить с ключем debug
И потом просто запускать регламентное задание и ждать когда оно накроется?

Mi11er

Виктор Л, в целом да. Серверные вызовы должны быть с ключем дебажены.

nki

Виктор Л, как вариант, можете в своей внешней обработке вызвать процедуру регламентного задания. "Провалиться" в нее и посмотреть что и как.

shaivam

1) посмотрите на количество памяти выделяемой rphost на сервере 1С. Если у вас x32 версия сервера то процесс сможет использовать максимум 1, 75 Гб ОЗУ
Если памяти не хватает, то сервер не может принять новые соединения или зависает когда текущему сеансу требуется дополнительная память
www.viva64.com/ru/k/0036
2) Посмотрите настройки "Параметры рабочего сервера" возможно установлены неверные настройки. У меня была такая проблема и сервер постоянно зависал. Мои настройки во вложение. Серверу выделено 11 Гб.
3) Возможны проблемы в настройке Postgressql.

ddb0daf5dde44d23953ed6d29573368a.jpg

Предоставьте характеристики вашего сервера, размеры баз, конфиги Postgressql. Без информации сказать сложно.

Приведите все характеристики вашего сервера: сервер 1С8 и БД физический или виртуальный, операционка, количество ОЗУ на каждом сервере, ЦП какой, сколько занимают ОЗУ процессы rphost, сколько их? Используете ли вы RAID массив?

Ранее сам использовал PostgreSQL но, в процессе работы столкнулись с некоторыми проблемами при работе базы на PostgreSQL и недавно перешли на MS SQL.

Сервер у вас не плохой для данных баз. Для того чтобы использовать PostgreSQL нужно очень хорошо разбираться в его настройке. Когда базы маленькие многие ошибки настройки "прощаются". Когда мы только начинали внедрять 1С + PostgreSQL у нас тоже были очень частые проблемы с работой БД (были частые зависания, медленно работала). PostgreSQL лучше использовать на Linux, а не на windows. Я сам не спец по БД, для настройки сервера БД мы нанималь специалиста из 1СБит и он нам его настроил и проблем в работе после этого не возникало.

Совет:
Базы у вас большие не поскупитесь наймите спеца по БД который вам сможет её настроить. Один человек не может быть специалистм во всём.

1) давно ли вы делали проверку самой БД и реиндексацию? VACUUM и REINDEX
2) давно ли делали тестирование и исправление базы средствами 1С?
3) файл лога БД вынесен на отдельный HDD?
4) сильно ли нагружен HDD?

Задумайтесь о переходе на MS Sql зачастую он не требует "практически" никакой настройки и его проще использовать. В отличие от PostgreSQL MS Sql готов уже из коробки работать, а PostgreSQL нужно настраивать.

Будут вопросы пишите может смогу чемнибудь помочь в Skype: tisartisar

Наимите спеца по настроке БД

Почему мы перешли на MS SQL:
мы используем конфигурацию УТ и при закрытие месяца иногда возникали ошибки которые никак не удавалось решить. Если перенести базу на файловый режим и запустить закрытие месяца, то всё закрывалось нормально, этуже базу заружали на сервер PostgreSQL при рассчёте себестоимость возникали ошибки. На тот момнет мы на пол года отставали по закрытию месяцев из-за возникновения плавующих ошибок. Создали тестовую базу на MS SQL и месяц который немогли закрыть на PostgreSQL на MS Sql закрылся. Также на PostgreSQL не работает корректно округление цен в прайс листе. По факту работа 1С на PostgreSQL поддерживается, но рекомендуется всётаки использовать MS SQl.
Из-за этого было принято решение перейти на MS SQL т.к. стабильность работы 1С дороже.

Рад что смог помочь, обращайтесь ещё, если будут вопросы и проблемы.

Читайте также: