1. Bitrix VM последняя версия окружения и портала 2. Настроена почта на яндекс.коннект из menu.sh по инструкции 3. При отправке писем из карточки crm все уходит, в home/bitrix/msmtp.log все ок 4. Пишем бизнес процесс с любым уведомлением, добавляем поле уведомления на почту (если пользователь не авторизован) https://prnt.sc/ur7d9t 5. Письмо НЕ отправляется, смотрим лог - Oct 01 12:32:02 host=smtp.yandex.ru tls=on auth=on user= user@domain.ru from= user@domain.ru recipients=user2 @domain.ru smtpstatus=550 smtpmsg='550 5.7.0 Sender or From header address rejected: not owned by authorized user 1601544722-1iAcs59Hlk-W2mmsTi3' errormsg='the server did not accept the mail' exitcode=EX_UNAVAILABLE
6. Нифига не понимаю.. Окей, настраиваю дебаг msmtp 7. Смотрю дампы. Если отправляю письма из CRM то дампы в /tmp/mail видны если через бизнес процесс - нет дампов. Но в логе видны ошибки отправки.
Вопрос. Как оно блин отправляет минуя скрипт записи в дамп и почему ругается на autorized user?
Дмитрий Б написал: Вопрос. Как оно блин отправляет минуя скрипт записи в дамп и почему ругается на autorized user?
Есть несколько способов отправки: 1) Мгновенная отправка (прямое выполнение bxmail) 2) Скрытая отправка (отправка без записи, почти прямое выполнение, но с обработкой) 3) Запись в b_event
Скорее всего у вас в БП создается отправка и записывается в b_event и время отправки еще не пришло (несколько минут)
Александр Медведев, спасибо за капитанство и интересную историю. По английски читать тут все умеют, вопрос был почему письма не ловит скрипт и в итоге от кого письма уходят.
Андрей Николаев, спасибо, погуглил. Итоговое решение для истории:
Настраиваем отлов писем с bxmail через добавление кода в dbconn.php
Код
// определим константу LOG_FILENAME, в которой зададим путь к лог-файлу
define("LOG_FILENAME", $_SERVER["DOCUMENT_ROOT"]."/mylog-6665444.txt");
//дебаг почты
function custom_mail($to, $subject, $message, $additional_headers='', $additional_parameters='')
{
AddMessage2Log(
'To: '.$to.PHP_EOL.
'Subject: '.$subject.PHP_EOL.
'Message: '.$message.PHP_EOL.
'Headers: '.$additional_headers.PHP_EOL.
'Params: '.$additional_parameters.PHP_EOL
);
if ($additional_parameters!='') {
return @mail($to, $subject, $message, $additional_headers, $additional_parameters);
} else {
return @mail($to, $subject, $message, $additional_headers);
}
}
Пробуем отправить письма, смотрим лог. Видим что адрес портала в настройках сайта /bitrix/admin/site_edit.php?lang=ru&LID=s1 был указан неправильно.
Особое спасибо Антону Долганину за полезный комментарий
Александр Медведев написал: В пункте 2 ты настроил отправку от конкретного пользователя.В пункте 4 ты пытаешься отправить письмо от другого пользователя
У меня такая же проблема. Если письмо уходит например, из бизнес-процесса, то норм (потому что работает настройка smtp), а если пользователь отправляет письмо из своей почты (клиент Битрикса), то в логах ругань: Sender or From header address rejected: not owned by authorized user
По идее, Битрикс должен как-то на лету подменять настройки smtp, в случае когда почти идет с клиента Битрикса от какого-то пользователя, но, видимо, этого не происходит.
Александр Медведев написал: В пункте 2 ты настроил отправку от конкретного пользователя.В пункте 4 ты пытаешься отправить письмо от другого пользователя
У меня такая же проблема. Если письмо уходит например, из бизнес-процесса, то норм (потому что работает настройка smtp), а если пользователь отправляет письмо из своей почты (клиент Битрикса), то в логах ругань: Sender or From header address rejected: not owned by authorized user
По идее, Битрикс должен как-то на лету подменять настройки smtp, в случае когда почти идет с клиента Битрикса от какого-то пользователя, но, видимо, этого не происходит.
Ответ на запрос. На данный момент с яндексом действительно наблюдается такая ситуация. В данной статье даны причины и пути решения ситуации с почтой https://helpdesk.bitrix24.ru/open/13118632
Feb 21 19:59:36 host=smtp.yandex.ru tls=on auth=on user=%%%%%%%.ru from=%%%%%%%.ru recipients=hosting_test@bitrixsoft.com mailsize=153 smtpstatus=250 smtpmsg='250 2.0.0 Ok: queued on vla1-cde8305024b9.qloud-c.yandex.net as 1613926776-Pjndynvi8W-xZJO1unm' exitcode=EX_OK Feb 21 19:59:37 host=smtp.yandex.ru tls=on auth=on user=%%%%%%%.ru from=%%%%%%%.ru recipients=hosting_test@bitrixsoft.com,noreply@bitrixsoft.com mailsize=187496 smtpstatus=250 smtpmsg='250 2.0.0 Ok: queued on iva8-174eb672ffa9.qloud-c.yandex.net as 1613926777-IiezJhWU3P-xanOWJKn' exitcode=EX_OK фев 21 20:00:02 host=smtp.yandex.ru tls=on auth=on user=%%%%%%%.ru from=%%%%%%%.ru recipients=i%%%%%%%.ru smtpstatus=550 smtpmsg='550 5.7.0 Sender or From header address rejected: not owned by authorized user 1613926802-COFtUWJhjb-01nK7oNv' errormsg='the server did not accept the mail' exitcode=EX_UNAVAILABLE Feb 21 20:00:49 host=smtp.yandex.ru tls=on auth=on user=%%%%%%%.ru from=%%%%%%%.ru recipients=i%%%%%%%.ru smtpstatus=550 smtpmsg='550 5.7.0 Sender or From header address rejected: not owned by authorized user 1613926849-ZY4enuLlWY-0nnGD6S3' errormsg='the server did not accept the mail' exitcode=EX_UNAVAILABLE
Такая ситуация, тоже с яндексом.
Тестовые сообщения приходят. Тесты проходятся. Но с сайта, из форм письма не приходят на info
ТП Яндекса пишет: "Пожалуйста, выполните сетевую диагностику с помощью команды telnet в момент возникновения ошибки и пришлите мне результат в виде скриншотов: Для IMAP: telnet imap.yandex.ru 993 Для POP3: telnet pop.yandex.ru 995 Для SMTP: telnet smtp.yandex.ru 465
Обращаю ваше внимание, что каждую из команд необходимо вводить отдельно в новом окне. Эта информация поможет нашим специалистам во всем разобраться.