Hey, never got a response to this. Just wondering if anyone had any
thoughts? I'd like to migrate to an OpenSMTPD/DBMail setup but I
literally don't know what my next step in debugging this should be.
Thanks.
On 7/10/2014 12:16 PM, Nolan Darilek wrote:
Hello,
I'm trying to build a setup where OpenSMTPD authenticates against and
delivers to DBMail, with all components running in Docker containers.
It seems I'm almost there. OpenSMTPD queries the DBMail database for
domains/users/email addresses, accepts mail for delivery, but returns
temporary failures alternating between "no such file or directory" and
"resource temporarily unavailable." I'm trying to deliver mail to
dbmail-lmtp.
I ran smtpd with -T all. The file is huge, but I'll include what I
think is the relevant section. Is there somewhere else I might look to
determine just what file or resource isn't being found? Since the file
is so huge I don't know if I should be checking a different section.
I'll also include my configs. I'm not sure if I want to deliver or
relay to dbmail-lmtp. I'm also not sure if I should be using
lmtp://lmtp:24 or lmtp:24 as the destination.
Another thing I'm uncertain of is whether OpenSMTPD does lookups
against /etc/hosts. My Docker setup links the LMTP container with
OpenSMTPD's, and writes a host entry for "lmtp" to /etc/hosts. I can
ping lmtp from the container and can telnet to port 24, but if
OpenSMTPD does its lookups in a way that disregards /etc/hosts then
I'll need a different lookup solution. I don't think this is the case,
as I got the same results with a hard-coded IP, but I included it for
completeness' sake.
I'll happily provide additional information if asked, I don't know
quite what is relevant.
Thanks.
--- smtpd.conf ---
table domains sqlite:/usr/local/etc/sqlite.conf
# table sqlaliases sqlite:/usr/local/etc/sqlite.conf
table users sqlite:/usr/local/etc/sqlite.conf
pki thewordnerd.info certificate "/etc/ssl/certs/mail.crt"
pki thewordnerd.info key "/etc/ssl/private/mail.key"
listen on "0.0.0.0" secure pki thewordnerd.info auth-optional
accept from any for domain <domains> userbase <users> deliver to lmtp
"lmtp:24"
accept for any relay
--- sqlite.conf ---
dbpath /var/lib/dbmail/dbmail.db
# query_alias select alias from alias where user=?;
query_domain select distinct substr(alias, instr(alias, '@')+1) as
domain from dbmail_aliases where domain = ?;
query_userinfo select 1000 as uid, 1000, '/home' where uid != ?;
query_credentials select userid, passwd from dbmail_users where userid
= ?;
--- Trace ---
smtp-in: Accepted message 4ff505c9 on session 4ae127e6fcb95a56:
from=<[email protected]>, to=<[email protected]>, size=5,
ndest=1, proto=ESMTP
smtp: 0x144d4a0: STATE_BODY -> STATE_HELO
smtp: 0x144d4a0: IO_LOWAT <io:0x144d4e8 fd=4 to=300000 fl=W ib=0 ob=0>
imsg: mfa <- smtp: IMSG_MFA_EVENT_COMMIT (len=9)
filter: new query QT_EVENT HOOK_COMMIT
filter: draining query 1930dbb42ff6d329[QT_EVENT,HOOK_COMMIT]
filter: freeing query 1930dbb42ff6d329
imsg: queue <- scheduler: IMSG_MDA_DELIVER (len=9)
mproc: queue -> control : 58 IMSG_STAT_INCREMENT
mproc: queue -> mda: allocating 128
mproc: queue -> mda: realloc 128 -> 512
mproc: queue -> mda : 381 IMSG_MDA_DELIVER
imsg: mda <- queue: IMSG_MDA_DELIVER (len=381)
mproc: mda -> lka: allocating 128
mproc: mda -> lka : 23 IMSG_LKA_USERINFO
mproc: mda -> control : 43 IMSG_STAT_INCREMENT
mproc: mda -> control : 47 IMSG_STAT_INCREMENT
mproc: mda -> control : 46 IMSG_STAT_INCREMENT
imsg: lka <- mda: IMSG_LKA_USERINFO (len=23)
lookup: lookup "nolan" as USERINFO in table proc:users ->
"nolan:1000:1000:/home"
mproc: lka -> mda: allocating 128
mproc: lka -> mda: realloc 128 -> 2048
mproc: lka -> mda : 1087 IMSG_LKA_USERINFO
imsg: mda <- lka: IMSG_LKA_USERINFO (len=1087)
mproc: mda -> control : 46 IMSG_STAT_DECREMENT
mproc: mda -> control : 46 IMSG_STAT_INCREMENT
mproc: mda -> queue: allocating 128
mproc: mda -> queue : 14 IMSG_QUEUE_MESSAGE_FD
imsg: queue <- mda: IMSG_QUEUE_MESSAGE_FD (len=14)
queue-backend: queue_message_fd_r(4ff505c9) -> 4
mproc: queue -> mda : 9 IMSG_QUEUE_MESSAGE_FD
imsg: mda <- queue: IMSG_QUEUE_MESSAGE_FD (len=9, fd=4)
mproc: mda -> parent: allocating 128
mproc: mda -> parent: realloc 128 -> 4096
mproc: mda -> parent : 3166 IMSG_PARENT_FORK_MDA
imsg: parent <- mda: IMSG_PARENT_FORK_MDA (len=3166)
mproc: parent -> mda: allocating 128
mproc: parent -> mda : 9 IMSG_PARENT_FORK_MDA
imsg: mda <- parent: IMSG_PARENT_FORK_MDA (len=9, fd=5)
mda: 0x13f98c0: IO_LOWAT <io:0x13f98d8 fd=5 to=-1 fl=W ib=0 ob=0>
mda: 0x13f98c0: IO_LOWAT <io:0x13f98d8 fd=5 to=-1 fl=W ib=0 ob=0>
imsg: control <- scheduler: IMSG_STAT_DECREMENT (len=60)
ramstat: decrement: scheduler.ramqueue.update
ramstat: scheduler.ramqueue.update (0x13e9711): 1 -> 0
imsg: control <- scheduler: IMSG_STAT_DECREMENT (len=62)
ramstat: decrement: scheduler.envelope.incoming
ramstat: scheduler.envelope.incoming (0x13e9711): 1 -> 0
imsg: control <- scheduler: IMSG_STAT_INCREMENT (len=53)
ramstat: increment: scheduler.envelope
ramstat: scheduler.envelope (0x13f8e91): 0 -> 1
imsg: control <- scheduler: IMSG_STAT_INCREMENT (len=62)
ramstat: increment: scheduler.envelope.inflight
ramstat: scheduler.envelope.inflight (0x13f8c11): 0 -> 1
imsg: control <- queue: IMSG_STAT_INCREMENT (len=58)
ramstat: increment: queue.evpcache.load.hit
ramstat: queue.evpcache.load.hit (0x13f8c11): 0 -> 1
imsg: control <- mda: IMSG_STAT_INCREMENT (len=43)
ramstat: increment: mda.user
ramstat: mda.user (0x13f8e91): 0 -> 1
imsg: control <- mda: IMSG_STAT_INCREMENT (len=47)
ramstat: increment: mda.envelope
ramstat: mda.envelope (0x13f8e91): 0 -> 1
imsg: control <- mda: IMSG_STAT_INCREMENT (len=46)
ramstat: increment: mda.pending
ramstat: mda.pending (0x13f8e91): 0 -> 1
imsg: control <- mda: IMSG_STAT_DECREMENT (len=46)
ramstat: decrement: mda.pending
ramstat: mda.pending (0x13f8e91): 1 -> 0
imsg: control <- mda: IMSG_STAT_INCREMENT (len=46)
ramstat: increment: mda.running
ramstat: mda.running (0x13f8e91): 0 -> 1
mproc: scheduler -> control : 59 IMSG_STAT_SET
mproc: scheduler -> control : 57 IMSG_STAT_SET
mproc: mta -> control : 53 IMSG_STAT_SET
mproc: mta -> control : 49 IMSG_STAT_SET
mproc: mta -> control : 52 IMSG_STAT_SET
mproc: mta -> control : 51 IMSG_STAT_SET
mproc: parent -> control : 56 IMSG_STAT_SET
mproc: parent -> control : 52 IMSG_STAT_SET
mproc: parent -> control : 52 IMSG_STAT_SET
mproc: parent -> control : 52 IMSG_STAT_SET
mproc: parent -> control : 52 IMSG_STAT_SET
mproc: parent -> control : 54 IMSG_STAT_SET
mproc: parent -> control : 53 IMSG_STAT_SET
ramstat: set: buffer.scheduler.control
ramstat: buffer.scheduler.control: n/a -> n/a
ramstat: set: buffer.scheduler.queue
ramstat: buffer.scheduler.queue: n/a -> n/a
ramstat: set: buffer.mta.control
ramstat: buffer.mta.control: n/a -> n/a
ramstat: set: buffer.mta.lka
ramstat: buffer.mta.lka: n/a -> n/a
ramstat: set: buffer.mta.parent
ramstat: buffer.mta.parent: n/a -> n/a
ramstat: set: buffer.mta.queue
ramstat: buffer.mta.queue: n/a -> n/a
ramstat: set: buffer.parent.control
ramstat: buffer.parent.control: n/a -> n/a
ramstat: set: buffer.parent.lka
ramstat: buffer.parent.lka: n/a -> n/a
ramstat: set: buffer.parent.mda
ramstat: buffer.parent.mda: n/a -> n/a
ramstat: set: buffer.parent.mfa
ramstat: buffer.parent.mfa: n/a -> n/a
ramstat: set: buffer.parent.mda
ramstat: buffer.parent.mda: n/a -> n/a
ramstat: set: buffer.parent.queue
ramstat: buffer.parent.queue: n/a -> n/a
mproc: lka -> control : 53 IMSG_STAT_SET
mproc: lka -> control : 49 IMSG_STAT_SET
mproc: lka -> control : 49 IMSG_STAT_SET
mproc: lka -> control : 52 IMSG_STAT_SET
mproc: lka -> control : 51 IMSG_STAT_SET
mproc: lka -> control : 50 IMSG_STAT_SET
ramstat: set: buffer.parent.smtp
ramstat: buffer.parent.smtp: n/a -> n/a
ramstat: set: buffer.lka.control
ramstat: buffer.lka.control: n/a -> n/a
ramstat: set: buffer.lka.mda
ramstat: buffer.lka.mda: n/a -> n/a
ramstat: set: buffer.lka.mda
ramstat: buffer.lka.mda: n/a -> n/a
ramstat: set: buffer.lka.parent
ramstat: buffer.lka.parent: n/a -> n/a
ramstat: set: buffer.lka.queue
ramstat: buffer.lka.queue: n/a -> n/a
ramstat: set: buffer.lka.smtp
ramstat: buffer.lka.smtp: n/a -> n/a
mproc: mda -> control : 53 IMSG_STAT_SET
mproc: mda -> control : 49 IMSG_STAT_SET
mproc: mda -> control : 52 IMSG_STAT_SET
mproc: mda -> control : 51 IMSG_STAT_SET
ramstat: set: buffer.mda.control
ramstat: buffer.mda.control: n/a -> n/a
ramstat: set: buffer.mda.lka
ramstat: buffer.mda.lka: n/a -> n/a
ramstat: set: buffer.mda.parent
ramstat: buffer.mda.parent: n/a -> n/a
ramstat: set: buffer.mda.queue
ramstat: buffer.mda.queue: n/a -> n/a
mproc: smtp -> control : 54 IMSG_STAT_SET
mproc: smtp -> control : 50 IMSG_STAT_SET
mproc: smtp -> control : 50 IMSG_STAT_SET
mproc: smtp -> control : 53 IMSG_STAT_SET
mproc: smtp -> control : 52 IMSG_STAT_SET
ramstat: set: buffer.smtp.control
ramstat: buffer.smtp.control: n/a -> n/a
ramstat: set: buffer.smtp.lka
ramstat: buffer.smtp.lka: n/a -> n/a
ramstat: set: buffer.smtp.mfa
ramstat: buffer.smtp.mfa: n/a -> n/a
ramstat: set: buffer.smtp.parent
ramstat: buffer.smtp.parent: n/a -> n/a
ramstat: set: buffer.smtp.queue
ramstat: buffer.smtp.queue: n/a -> n/a
mproc: mfa -> control : 53 IMSG_STAT_SET
mproc: mfa -> control : 52 IMSG_STAT_SET
mproc: mfa -> control : 50 IMSG_STAT_SET
ramstat: set: buffer.mfa.control
ramstat: buffer.mfa.control: n/a -> n/a
ramstat: set: buffer.mfa.parent
ramstat: buffer.mfa.parent: n/a -> n/a
ramstat: set: buffer.mfa.smtp
ramstat: buffer.mfa.smtp: n/a -> n/a
mproc: queue -> control : 55 IMSG_STAT_SET
mproc: queue -> control : 51 IMSG_STAT_SET
mproc: queue -> control : 51 IMSG_STAT_SET
mproc: queue -> control : 51 IMSG_STAT_SET
mproc: queue -> control : 54 IMSG_STAT_SET
mproc: queue -> control : 57 IMSG_STAT_SET
mproc: queue -> control : 52 IMSG_STAT_SET
ramstat: set: buffer.queue.control
ramstat: buffer.queue.control: n/a -> n/a
ramstat: set: buffer.queue.lka
ramstat: buffer.queue.lka: n/a -> n/a
ramstat: set: buffer.queue.mda
ramstat: buffer.queue.mda: n/a -> n/a
ramstat: set: buffer.queue.mda
ramstat: buffer.queue.mda: n/a -> n/a
ramstat: set: buffer.queue.parent
ramstat: buffer.queue.parent: n/a -> n/a
ramstat: set: buffer.queue.scheduler
ramstat: buffer.queue.scheduler: n/a -> n/a
ramstat: set: buffer.queue.smtp
ramstat: buffer.queue.smtp: n/a -> n/a
mproc: parent -> mda : 28 IMSG_MDA_DONE
imsg: mda <- parent: IMSG_MDA_DONE (len=28, fd=4)
mproc: mda -> queue : 69 IMSG_DELIVERY_TEMPFAIL
delivery: TempFail for 4ff505c9976626c9: from=<[email protected]>,
to=<[email protected]>, user=nolan, method=lmtp, delay=4s,
stat=Error ("smtpd: No input received: No such file or directory")
--
You received this mail because you are subscribed to [email protected]
To unsubscribe, send a mail to: [email protected]