Ситуация: Настроили SMTP в Битрикс, письма "отправляются", но не приходят. В чем проблема?
Mail.ru имеет строгую политику безопасности. Система блокирует отправку, когда:
info@ваш-домен.ru)sales@ваш-домен.ru)Mail.ru проверяет:
В настройках SMTP Битрикс укажите один и тот же email везде:
SMTP логин: info@ваш-домен.ru
Email отправителя: info@ваш-домен.ru
Имя отправителя: Ваш Сайт
1. Зайдите в почтовый ящик info@ваш-домен.ru
2. Настройки → Почтовые ящики → Алиасы
3. Добавьте sales@ваш-домен.ru как алиас
4. Теперь можно отправлять от обоих адресов
Бесплатные альтернативы Mail.ru:
Создайте файл test_mailru.php на вашем сайте:
<?php
// Тестирование отправки почты через Mail.ru SMTP
require_once($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php");
echo "<h3>Тест отправки через Mail.ru SMTP</h3>";
// Ваши данные
$smtp_email = "info@biopakademia.ru"; // Email для SMTP авторизации
$from_email = "l@biopakademia.ru"; // Email отправителя (проблемный!)
$test_email = "ваш-тестовый@gmail.com"; // Куда отправлять
echo "<p>SMTP аккаунт: " . $smtp_email . "</p>";
echo "<p>Отправитель: " . $from_email . "</p>";
echo "<p>Получатель: " . $test_email . "</p>";
// Вариант 1: Пробуем отправить с разными email (не сработает)
echo "<h4>Тест 1: Разные email (скорее всего не сработает)</h4>";
$result1 = \Bitrix\Main\Mail\Mail::send(array(
'TO' => $test_email,
'SUBJECT' => 'Тест Mail.ru - разные email',
'BODY' => 'Если это письмо пришло - вам повезло!',
'HEADER' => array(
'From' => $from_email, // Отличается от SMTP!
'Reply-To' => $from_email
)
));
echo "Результат: " . ($result1 ? '✅ Отправлено' : '❌ Ошибка') . "<br>";
// Вариант 2: Отправляем с одинаковыми email (должно сработать)
echo "<h4>Тест 2: Одинаковые email (должно сработать)</h4>";
$result2 = \Bitrix\Main\Mail\Mail::send(array(
'TO' => $test_email,
'SUBJECT' => 'Тест Mail.ru - одинаковые email',
'BODY' => 'Это письмо должно дойти!',
'HEADER' => array(
'From' => $smtp_email, // Совпадает с SMTP!
'Reply-To' => $from_email // Но отвечать можно на другой
)
));
echo "Результат: " . ($result2 ? '✅ Отправлено' : '❌ Ошибка') . "<br>";
// Вариант 3: Используем Sender заголовок
echo "<h4>Тест 3: С заголовком Sender</h4>";
$result3 = \Bitrix\Main\Mail\Mail::send(array(
'TO' => $test_email,
'SUBJECT' => 'Тест Mail.ru - с Sender',
'BODY' => 'Проверка заголовка Sender',
'HEADER' => array(
'From' => $smtp_email, // SMTP email
'Sender' => $from_email, // Отображаемый отправитель
'Reply-To' => $from_email
)
));
echo "Результат: " . ($result3 ? '✅ Отправлено' : '❌ Ошибка') . "<br>";
echo "<p><strong>Если тест 2 сработал, а тест 1 нет - проблема подтверждена!</strong></p>";
// Проверяем настройки SMTP
echo "<h4>Текущие настройки SMTP:</h4>";
$smtpSettings = \Bitrix\Main\Config\Option::getForModule("main");
echo "SMTP сервер: " . ($smtpSettings["smtp_server"] ?? 'не указан') . "<br>";
echo "SMTP порт: " . ($smtpSettings["smtp_port"] ?? 'не указан') . "<br>";
echo "SMTP логин: " . ($smtpSettings["smtp_login"] ?? 'не указан') . "<br>";
?>
В настройках Битрикс (Настройки → Настройки продукта → Почта → Настройка SMTP):
Reply-To на нужный emailЗайдите в Mail.ru → ваш домен:
v=spf1 include:spf.mail.ru ~allВывод: Mail.ru защищает от подделки отправителей. Используйте одинаковые email для SMTP и From, либо настройте алиасы.
Удачи в настройке! Если есть вопросы - пишите в комментариях.
Блог только запустил, все статьи генерирую через нейросеть т.к. лень, возможны ошибки. Просто чтобы вы знали и не запускали ядерный реактор по моим статьям ))
Если у вас есть вопросы, или Нашли неточность? пишите в коментах — вместе поправим и сделаем статью более качественной. Я лично объясню нюансы из практики.
Комментарии
Пока нет комментариев. Будьте первым!