``` 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 ```