Because I could not get get my setup working using sqlite I switched over to postgresql. I ended up with the same error as before.
Can anyone point me to an example config using senders directive with a table from a database? Greetings, Michael ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ Am Dienstag, Oktober 8, 2019 6:26 PM schrieb <y38...@protonmail.com>: > Hello everyone! > > I'm currently trying to setup OpenSMTPD 6.4 on alpine linux (edge) based on > Hugo Barrera's guide on > https://hugo.barrera.io/journal/2015/02/15/opensmtpd-dovecot-shared-sql-db/. > > After some struggling I got everything up and running except for using > senders in a listen directive to restrict user from sending mail from > addresses they are not expected to send from. When I use > > smtpd.conf: > ... > table senderalias file:/etc/opensmtpd/senderalias.txt > ... > listen on eth0 inet4 port submission tls-require pki mypki auth <credentials> > senders <senderalias> > ... > > /etc/opensmtpd/senderalias.txt: > u...@example.com al...@example.com,t...@example.com > > everything works as expected. But as soon as I switch over to sqlite it > fails. My sqlite config looks like this: > > smtpd.conf: > ... > table senderalias sqlite:/etc/opensmtpd/sqlite_senderalias.conf > listen on eth0 inet4 port submission tls-require pki mypki auth <credentials> > senders <senderalias> > ... > > /etc/opensmtpd/sqlite_senderalias.conf: > dbpath /etc/opensmtpd/mail.sqlite > query_alias SELECT (username||'@'||domain) FROM users WHERE ? > LIKE mailbox AND enabled = 1; > query_mailaddr SELECT (username||'@'||domain) FROM users WHERE ? > LIKE mailbox AND enabled = 1; > > When trying to deliver a mail I receive the following error in the smtpd logs: > > lookup: lookup "u...@example.com" as MAILADDRMAP in table proc:senderalias -> > -1 > warn: failure during mailaddrmap lookup senderalias:u...@exampe.com > > Afterwards the mail is rejected with error 421 Temporary error. Running the > SQL queries manually by replacing the ? with u...@example.com returns the > expected addresses. > > My sqlite database looks similar to the one from the guide. I just added a > few fields e.g. enabled and sendonly: > > CREATE TABLE "users" ( > "username" TEXT NOT NULL, > "domain" TEXT NOT NULL, > "mailbox" TEXT, > "enabled" INTEGER NOT NULL DEFAULT 1, > "password" TEXT, > "sendonly" INTEGER NOT NULL DEFAULT 0 > ); > > Can anyone give me a hint on what I'm missing? > > Greetings, > Michael