Битрикс24 исправляем проблему с отправкой почты msmtp BitrixVM [с примером скрипта]

Битрикс24 исправляем проблему с отправкой почты msmtp BitrixVM [с примером скрипта]

Александр Гусев Обновлено: 19 июня 2023 10823 просмотра

Если используется msmtp (установлен BitrixVM) и выводятся ошибки вида

<-- 550 5.7.0 Sender or From header address rejected: not owned by authorized user

Скорее всего bitrix отправляет письма, указывая отправителя в заголовке From, но msmtp их не может читать. В таком случае можно использовать параметр --read-envelope-from.

Однако, в том же тесте системы, заголовок From не передается, как и в некоторых других ситуациях, тогда Битрикс не отправляет письма и выводит ошибки:

envelope from address extracted from mail: (null)
loaded system configuration file /etc/msmtprc
loaded user configuration file /home/bitrix/.msmtprc
falling back to default account
msmtp: account default from /home/bitrix/.msmtprc: envelope-from address is missing

Нашлось простое решение — скрипт, который смотрит, есть ли заголовок письма, если да, то запускает msmtp с параметром --read-envelope-from, иначе запускается стандартно.

Что бы избавиться от ошибки "not owned by authorized user" — создаем скрипт /usr/bin/bitrix_email.sh с содержимым:

#!/bin/bash
export HOME=/home/bitrix


args=$@


message_body=""
while read line; do
  message_body="$message_body$line\n"
done < /dev/stdin


if [[ $message_body == *"From:"* ]]; then
echo -e "$message_body" | /usr/bin/msmtp --debug -t -i --read-envelope-from $args
else
echo -e "$message_body" | /usr/bin/msmtp --debug -t -i $args
fi

Делаем скрипт запускаемым

chmod +x /usr/bin/bitrix_email.sh

Далее прописываем этот скрипт в /etc/php.d/bitrixenv.ini , если у вас bitrixVM или в ином в вашем случае

sendmail_path = /usr/bin/bitrix_email.sh
Перезапускаем php-fpm или httpd
service httpd restart

Всё, теперь при отправке почты отправитель будет браться из заголовков письма From:, если задан такой заголовок, иначе как раньше.

Буду рад, если эта статья поможет избавиться от ситуации, в которой Битрикс не отправляет письма.



Комментарии

0
Fooko
Спасибо.
0
Александр
Цитата
Fooko пишет:

Спасибо .

Пожалуйста ;)
0
Илья Екамасов
Спасибо огромное! Ты просто нереально помог!
0
Guest

Авторизуйтесь через соц.сеть и оставьте комментарий

Возврат к списку