94 lines
2.3 KiB
Markdown
94 lines
2.3 KiB
Markdown
```
|
||||
|
|
|
|||
|
|
sudo doveadm pw -s BLF-CRYPT
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
{BLF-CRYPT}$2y$05$ituMVYZPOiAnTOApslK18OB7iPpAamHv6wZSd7ed2ZozzAaKXPGZi
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
windyboy@2006
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
sudo mysql -p -u mailuser mailserver <<'SQL'
|
|||
|
|
INSERT INTO domains(name) VALUES ('windy.me');
|
|||
|
|
|
|||
|
|
INSERT INTO users(email, domain, password, quota_mb)
|
|||
|
|
VALUES ('zhiqiang@windy.me','windy.me','{BLF-CRYPT}$2y$05$cbKWGCrttpBPHpN8R4DFFeGSUF82Upf4EsREifW0jm96A.59IfYfO', 2048);
|
|||
|
|
|
|||
|
|
-- optional alias
|
|||
|
|
INSERT INTO aliases(source, destination) VALUES ('vnet@windy.me','zhiqiang@windy.me');
|
|||
|
|
SQL
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
doveadm auth test zhiqiang@windy.me 'windyboy2006'
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
# ---- Dovecot 2.4 SQL authentication ----
|
|||
|
|
sql_driver = mysql
|
|||
|
|
|
|||
|
|
# Debian/MariaDB socket (or use 'mysql localhost { ... }' for TCP)
|
|||
|
|
mysql /run/mysqld/mysqld.sock {
|
|||
|
|
user = vmail
|
|||
|
|
password = CHANGE_ME_STRONG
|
|||
|
|
dbname = mailserver
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
# PASSDB: verify credentials (hash in DB, e.g. {BLF-CRYPT}...)
|
|||
|
|
passdb sql {
|
|||
|
|
passdb_default_password_scheme = BLF-CRYPT
|
|||
|
|
query = SELECT email AS username, password AS password \
|
|||
|
|
FROM users \
|
|||
|
|
WHERE email = '%{user}' AND active = 1
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
# USERDB: return uid/gid/home/mail
|
|||
|
|
# Change 5000:5000 if your vmail UID/GID differ: check with "id vmail"
|
|||
|
|
userdb sql {
|
|||
|
|
query = SELECT 5000 AS uid, 5000 AS gid, \
|
|||
|
|
CONCAT('/var/mail/vhosts/', SUBSTRING_INDEX(email,'@',-1), '/', SUBSTRING_INDEX(email,'@',1)) AS home, \
|
|||
|
|
CONCAT('maildir:/var/mail/vhosts/', SUBSTRING_INDEX(email,'@',-1), '/', SUBSTRING_INDEX(email,'@',1), '/Maildir') AS mail \
|
|||
|
|
FROM users \
|
|||
|
|
WHERE email = '%{user}' AND active = 1
|
|||
|
|
iterate_query = SELECT email AS username FROM users WHERE active = 1
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
swaks --server your.mx.name --port 587 --tls --auth LOGIN -au 'zhiqiang@windy.me' -ap 'windyboy@2006' --h-Subject "SASL test"
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
sudo postconf -n | grep -E '^(smtpd_.*restrictions|smtpd_milters|milter_.*|policyd|policy|check_policy_service)'
|
|||
|
|
sudo grep -nE '^(submission|smtps)\b' -n /etc/postfix/master.cf -n
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
```
|
|||
|
|
sudo postconf -P submission/inet/smtpd_recipient_restrictions
|
|||
|
|
sudo postconf -P submission/inet/smtpd_client_restrictions
|
|||
|
|
sudo postconf -P submission/inet/smtpd_helo_restrictions
|
|||
|
|
sudo postconf -P smtps/inet/smtpd_recipient_restrictions
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
google windyboy app passwors (postfix) :
|
|||
|
|
```
|
|||
|
|
zfgl bdep itya kdym
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
/etc/postfix/sasl_passwd
|
|||
|
|
```
|
|||
|
|
[smtp.gmail.com]:587 windyboy@gmail.com:zfglbdepityakdym
|
|||
|
|
```
|