Движок отправляет письмо на @example.com

тестирую заказы
при создании и оформлении заказа получаю письмо на почту магазина, а также приходит от хостинга письмо что не удалось доставить почту на test-1571053865@example.com

что это за тестовая почта и откуда она взялась? как убрать

1 лайк

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

я понимаю но зачем слать сообщение на левую почту тогда ? чтобы хостинг в ответ генерировал сообщение что почта недоставлена…

1 лайк

решили проблему в итоге?) добрался до нее, а то мне тоже хостинг сыпет этим

да как то перестало нам приходить такое, видимо клиенты не делают ошибки в почте ну или cs-cart что то обновил)

1 лайк

Как-то через панель администратора можно изменить, на какую почту создавать покупателя, который не указал явно свой емейл? удобно было бы, например, чтобы аккаунт был вида номер_телефона@домен_сайта.

2 лайка

нет , но генерация происходит в функции fn_checkout_generate_fake_email_address, и там есть хук через который это можно сделать , небольшой доработкой , если будете делать не забудьте к этой функции fn_checkout_is_email_address_fake тоже подключиться там идет проверка на фейковые почты

1 лайк

а по теме можно попробовать подключиться к хуку send_order_notification в fn_order_notification

и сделать нечто подобное

use Tygh\Enum\UserTypes;
fn_my_changes_send_order_notification($order_info, $edp_data, &$force_notification, $notified, $send_order_notification)
{
    if( fn_checkout_is_email_address_fake($order_info['email']))
    {
        $force_notification[UserTypes::CUSTOMER] = false;
    }
}

Была такая проблема, это решается обязательным вводом Email для покупателя.

Логично, ведь этот костыль был придуман чтобы что-то сообразить для случаев когда у покупателя нет email и надо дать ему оформить заказ. Но т.к. когда-то кто-то не предусмотрительно сделал именно email уникальным признаком пользователя, то теперь вот это и получается.

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

Я делал так.
Открываете файл app/functions/fn.cart.php.
В строке 10381 $domain = ‘example.com’; меняем example.com на свой почтовый домен.Например, $domain = ‘mail.ru’;
Затем в строке 10383 $local_part = fn_generate_name(implode(’ ', $name_parts)); меняем fn_generate_name(implode(’ ', $name_parts)); на название вашей почты до знака @. Например, $local_part = ‘moya-pochta’.

3 лайка

Как бы еще сделать, чтобы левые емейлы не отображались в PDF-счете, который незарегистрированный покупатель может скачать сразу после оформления заказа по ссылке “Детали заказа”?

После обновления на 14.3.3 появилась эта проблема даже если покупатель вводит правильный Email. Решение которое описано здесь не помогает

Такая же фигня.
Что делать и как исправить?

Проблема вызывается наличием поля E-mail в секциях “Адрес доставки” и “Адрес плательщика”. Удалите поле “email” из секций “Адрес доставки” и “Адрес плательщика”.

а если нет емейла в секции Контактная информация? как тогда быть?

Тогда способом с заменой адреса в app/functions/fn.cart.php.

А в базе что?