79 lines
4.0 KiB
Markdown
79 lines
4.0 KiB
Markdown
# ric930-fake-smtp
|
||
|
||
Fake SMTP сервер для ИВ КонсультантПлюс. Принимает любые соединения с именем пользователя и паролем, сохраняет письма в формате `.eml` с иерархической структурой папок.
|
||
|
||
## Особенности
|
||
|
||
- ✅ RFC 5321 (SMTP протокол)
|
||
- ✅ Работа как systemd сервис на Linux и как Windows Service
|
||
|
||
## Требования
|
||
|
||
- Go 1.21 или выше
|
||
|
||
## Сборка из исходников
|
||
|
||
### 1. Клонирование репозитория
|
||
|
||
```bash
|
||
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. Сборка бинарников
|
||
```bash
|
||
GOOS=linux GOARCH=amd64 go build -o ric930-fake-smtp
|
||
```
|
||
или
|
||
```bash
|
||
GOOS=windows GOARCH=amd64 go build -o ric930-fake-smtp.exe
|
||
```
|
||
### 3. Запуск и установка в режиме службы
|
||
|
||
При первом запуске будет зоздан config.json с параметрами по умолчанию.
|
||
|
||
Запуск в интерактивном режиме:
|
||
```bash
|
||
./ric930-fake-smtp или ./ric930-fake-smtp.exe (для Windows)
|
||
```
|
||
|
||
Установка в качестве systemd юнита:
|
||
```bash
|
||
./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:
|
||
```bash
|
||
./ric930-fake-smtp.exe install
|
||
```
|
||
### 4. Файл конфигурации
|
||
config.json находится рядом с бинарным файлом или указывается в параметре --config path/to/config.json
|
||
Секции файла не требуют особых пояснений и интуитивно понятные.
|
||
|
||
### 5. Конфигурация online.ini
|
||
```bash
|
||
...
|
||
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. В форме восстановления необходио указать:
|
||
```bash
|
||
Логин: consultant
|
||
Email: admin@local.host (берется из поля AdminEmail файла online.ini)
|
||
Тескт с капчи
|
||
```
|
||
и нажать кнопку "Отправить".
|
||
Если все указано и настроено правильно, то в интерфейсе будет сообщение о том, что пароль будет отправлен в сообщении email.
|
||
можно проверить каталог emails (или иной, указанный в config.json) на наличии нового файла .eml, который и есть отправленное сообщение. Файл можно открыть в любой почтовой программе или текстовом редакторе. |