tag: #N/S/Rare #N/T/Linux #N/T/Tool/App #N/T/Public
2022-07-06 13:53, [Source](),
Related: [[]],
Docs:
[[=Установка и настройка PostfixAdmin]]
## Описание
_о чем заметка в 2-3 предложения_
#### Альтернативы postfixamdin
- [http://lostapp.ru/soft/vimbadmin](http://lostapp.ru/soft/vimbadmin)
- [https://www.ratuus.org/](https://www.ratuus.org/)
- [https://demo.modoboa.org/accounts/login/?next=/](https://demo.modoboa.org/accounts/login/?next=/) +написано на питоне комплексное решение[https://www.iredmail.org/admin_panel.html](https://www.iredmail.org/admin_panel.html) -бесплатная версия ограничена, платная 400$ в год +есть демка [https://www.iredmail.org/admin_demo.html](https://www.iredmail.org/admin_demo.html) +дашборды +
## Шаблон
##### Увеличить число строк в логе
в /config.inc.php
```bash
$CONF['page_size'] = '999';
```
## Примеры:
######
```bash
```
### Шпаргалки:
#### Maladmin Mysql
###### Создать почтовый ящик через mysql
postfix create mailbox
```bash
# Получаем список доменов из почтовой базы
mysql -B --disable-column-names postfix -e "select domain from domain" | grep -v ALL
#Генерируем md5 хеш из пароля для ящика
doveadm pw -s md5 -p 'password'
# Создаем ящик c сгенерированным ранее паролем
INSERT INTO mailbox (username, password, maildir, quota, local_part, domain, active) VALUES ('
[email protected]', 'MD5-HASH-HERE', 'domain.comm/non-existent-mailboxes/', '0', 'non-existent-mailboxes', 'domain.com', '1');
# Прописываем, куда доставлять или передаем почту:
insert into alias (address,goto,domain,active) values ('
[email protected]', '
[email protected],
[email protected]', 'domain.com', '1');
#Проверка
mysql postfix -e "select * from mailbox where username like 'vladlen%' \G"
mysql postfix -e "select * from alias where address like 'vladlen%' \G"
```
##### Созать почтовыя ящик в базе, для каждого домена (с перетиранием существующих)
```bash
#Добавляем ящики пользователя в каждый домен
mysql postfix -e "REPLACE INTO mailbox (username, password, maildir, quota, local_part, domain, active) SELECT CONCAT ('vladlen.ch@',domain), '\$1\$c9809462\$GAV.TRCqxOAs4nSXesJJm1', concat(domain,'/vladlen.ch/'), 0, 'vladlen.ch', domain, 1 FROM domain;"
# Добавляем соответствующий алиасы для ящика пользователя
mysql postfix -e "REPLACE INTO alias (address,goto,domain,active) SELECT CONCAT('vladlen.ch@',domain), CONCAT('vladlen.ch@',domain, ',
[email protected]'), domain, 1 FROM domain;"
#Создаем обязательные, согласно RFC 2142 алиасы, на примере dmarc-reports
mysql postfix -e "REPLACE INTO alias (address,goto,domain,active) SELECT CONCAT('dmarc-reports@',domain), CONCAT('root@',domain), domain, 1 FROM domain;"
#очищаем возможные лишние дубликаты.
mysql postfix -e "delete from mailbox where username like '%@ALL'\G"
mysql postfix -e "delete from alias where address like '%@ALL'\G"
```
##### Добавить админа в постфиксадмин бд
Есть 3 способа:
1 через уже существующиего админа в веб интерфейсе
2. скриптом
```bash
/var/www/postfixadmin/scripts/postfixadmin-cli admin add
[email protected] --superadmin 1 --active 1 --password Pass --password2 Pass
```
Или сгенерировать новый пароль и завести нового админа
```bash
echo -n 'pass' | md5sum
doveadm pw -s MD5-CRYPT -p password
mysql postfix -e ''INSERT INTO admin (`username`, `password`, `superadmin`, `active`) VALUES ('
[email protected]', 'MD5_hash_pass_here', '1', '1');"
```
Заменить пароль для существующего админа
```bash
UPDATE `admin` SET `password` = MD5('password') WHERE `admin`.`username` = 'root@localhost';
```
##### Посмотреть адреса получателя в баже
```bash
select * from alias where address = '[
[email protected]](mailto:
[email protected])';
```
##### Добавить в список рассылки еще один адресс
```bash
update alias set goto =
[email protected],
[email protected]' where address = '
[email protected]';
```
#### Обновить пароль для почтового ящика
```bash
select * from mailbox where username = 'igor';
```
![[Linux Users and Security#создание Пароля пользователям]]
![[% doveadm pw#Получить md5 хеш пароля]]
```bash
update mailbox set password = '$1$vQ2NMUtv5ftjon/wej4J1' where username = '
[email protected]';
```
Проверить доступ можно телнетом на порт и введя пароль
```bash
a login
[email protected] qwerty123
a select INBOX
a search body "user"
```
## Используемые или важные ключи.
### Файлы