ric930-fake-smtp
Fake SMTP сервер для ИВ КонсультантПлюс. Принимает любые соединения с именем пользователя и паролем, сохраняет письма в формате .eml с иерархической структурой папок.
Особенности
- ✅ RFC 5321 (SMTP протокол)
- ✅ Работа как systemd сервис на Linux и как Windows Service
Требования
- Go 1.21 или выше
Сборка из исходников
1. Клонирование репозитория
https://git.stelm.me/ric930/ric930-fake-smtp.git
cd ric930-fake-smtp
go mod init ric930-fake-smtp
go get github.com/kardianos/service
2. Сборка бинарников
GOOS=linux GOARCH=amd64 go build -o ric930-fake-smtp
или
GOOS=windows GOARCH=amd64 go build -o ric930-fake-smtp.exe
3. Запуск и установка в режиме службы
При первом запуске будет зоздан config.json с параметрами по умолчанию.
Запуск в интерактивном режиме:
./ric930-fake-smtp или ./ric930-fake-smtp.exe (для Windows)
Установка в качестве systemd юнита:
./ric930-fake-smtp install
sudo systemctl daemon-reload
sudo systemctl status ric930-fake-smtp
sudo systemctl enable --now ric930-fake-smtp
sudo journalctl -fu ric930-fake-smtp
Установка в качестве службы в Windows:
./ric930-fake-smtp.exe install
4. Файл конфигурации
config.json находится рядом с бинарным файлом или указывается в параметре --config path/to/config.json Секции файла не требуют особых пояснений и интуитивно понятные.
5. Конфигурация online.ini
...
AdminEmail = admin@local.host ; e-mail администратора
SMTPServer = 127.0.0.1 ; адрес почтового сервера для исходящих сообщений
SMTPUseSSL = 0 ; (default = 0) 0/1 выключить/включить поддержку шифрованных протоколов SSL/TLS для работы с почтовыми серверами
SMTPPort = 1025 ; порт для сервера исходящих сообщений (default = 25), для SSL/TLS 465 или 587
;SMTPLogin = ; логин для сервера исходящих сообщений
;SMTPPwd = ; пароль для сервера исходящих собщений
...
6. Восстановление пароля пользователя consultant и получение паролей других пользователей
После внесения изменений в файлы конфигурации online.ini и config.json можно приступать к процедуре восстановления пароля пользователя consultant. В форме восстановления необходио указать:
Логин: consultant
Email: admin@local.host (берется из поля AdminEmail файла online.ini)
Тескт с капчи
и нажать кнопку "Отправить". Если все указано и настроено правильно, то в интерфейсе будет сообщение о том, что пароль будет отправлен в сообщении email. можно проверить каталог emails (или иной, указанный в config.json) на наличии нового файла .eml, который и есть отправленное сообщение. Файл можно открыть в любой почтовой программе или текстовом редакторе.