Hey!
uid/gid are for vmail (/home/dovecot directory). I've looked at the
smtpd lookup trace and query_userinfo queries the database purely by
user name (without domain part). That is essentially where all
virtuality fails. :/ If the database was queried by the full e-mail
address (not unlike the virtual alias query), I could extract the domain
part easily and proceed from there.
In Dovecot I've specified the username + domain separately in MySQL
lookups where clauses.
Thanks!
Reio
On 04.02.2018 19:18, Edgar Pettijohn wrote:
does the system have a uid and gid 5000? I'm using mysql myself, but i
don't have a userinfo section. I'm guessing it should still work the
same as the userinfo table described in table(5) though. Unfortunantly
I am no sql expert, so I would just recommend verifying that your
query does what you expect it to do perhaps run it from the command
line and see what you get.
On 02/04/18 10:32, Reio Remma wrote:
Current smtpd.conf below.
As I understand userbase is the only way to let OpenSMTPD know where
to look for
table aliases mysql:/etc/opensmtpd/mysql.conf
table domains mysql:/etc/opensmtpd/mysql.conf
table userinfo mysql:/etc/opensmtpd/mysql.conf
table credentials mysql:/etc/opensmtpd/mysql.conf
listen on 0.0.0.0 port 25 tls pki bwo.mrstuudio.ee
listen on 0.0.0.0 port 587 tls-require pki bwo.mrstuudio.ee auth
<credentials>
listen on lo port 10025 tag Filtered
listen on lo port 10027 tag Signed
accept tagged Filtered for domain <domains> virtual <aliases>
userbase <userinfo> deliver to lmtp "/var/run/dovecot/lmtp" rcpt-to
accept from any for domain <domains> relay via lmtp://127.0.0.1:10024
accept tagged Signed for any relay via tls://orc.mrstuudio.ee
accept from local for any relay via lmtp://127.0.0.1:10026
---------------------------------------------------------------------------------------------------------------------------------------
mysql.conf
query_alias SELECT username FROM users WHERE email = ?;
query_domain SELECT domain FROM users WHERE domain = ?
LIMIT 1;
query_userinfo SELECT 5000, 5000,
CONCAT('/home/dovecot/domains/', domain, '/', username ) AS homedir
FROM users WHERE username = ?;
query_credentials SELECT username, password FROM users WHERE
email = ?;
Thanks,
Reio
On 04.02.2018 18:09, Edgar Pettijohn wrote:
what does your smtpd.conf look like?
On 02/04/18 08:01, Reio Remma wrote:
Hello!
I'm trying to figure out how I can have virtual domains/users
working completely decoupled from system users.
Every virtual/alias path seem to want to end up at a system account
so I'm trying to use userbase, but userbase seems to take username
without the domain part as key.
query_userinfo SELECT 5000, 5000,
CONCAT('/home/dovecot/domains/', domain, '/', username ) AS homedir
FROM users WHERE username = ?;
domain-one.com
- bob
- emily
domain-two.com
- john
- albert
- bob (not the same bob as b...@domain-one.com)
Mail sent to b...@domain-two.com will end up at b...@domain-one.com
mailbox.
Am I missing something about using virtuals in general? I'm
starting to feel a little stupid here. :)
Thanks,
Reio