Для правильного вопроса надо знать половину ответа
Такое ощущение, что у вас открыт релей, то есть через ваш сервер абсолютно любой может послать письмо с любого адреса на любой другой.
По хорошему, снаружи должны приниматься только письма на ваш домен, либо соединения с авторизацией. Уходить наружу должны только письма с вашего домена, и лучше с DKIM-подписью.
Проверьте сервер здесь: https://check.smtp.bz/
Для правильного вопроса надо знать половину ответа
1. Только для Windows Server. Для десктопных систем по лицензии одновременно с рабочим столом может работать только один пользователь.
2. Если программы установлены "для всех", в Program Files, то они доступны всем пользователям. Если "для меня", в User\Application Data, то только тому пользователю, кто их установил.
Для правильного вопроса надо знать половину ответа
Представление любого числа в компьютере состоит из конечного числа битов. Умножая число на 2, вы просто сдвигаете его на один бит влево, заполняя младший (правый) бит нулём. А поскольку вы вычитаете единицу, если она образовалась, то с каждой итерацией в вашем числе всё меньше значащих битов.
Для правильного вопроса надо знать половину ответа
Либо отправлять с файлом заголовки, запрещающие кэширование (Cache-Control: no-cache), либо добавлять к адресу случайную строку в виде параметра (http://example.com/file.name?45qdf).
Для правильного вопроса надо знать половину ответа
У вас декоратор не возвращает значение декорируемой функции.
В первом случае это приводит к тому, что при рекурсивном вызове fac() в строке return num * fac(num - 1) выполняется умножение на undefined.
Во втором случае вы рекурсивно вызываете незадекорированную функцию fac(), поскольку декорируете fuc().