for the record, solved off-list on IRC: permission on directories within the queue had been altered.
January 6, 2020 2:19 AM, "jrmu" <j...@ircnow.org> wrote: > Greetings, > > I am running OpenBSD 6.6 GENERIC#3 amd64 and getting an > inexplicable 421 4.3.0 Temporary Error when using > sendmail with opensmtpd. > > Here is my current mail setup: > > Inside bnc3.ircnow.org, I have /etc/mail/smtpd.conf: > > table aliases file:/etc/mail/aliases > table secrets file:/etc/mail/secrets > > listen on lo0 > > action "local_mail" mbox alias <aliases> > action "outbound" relay host smtp+tls://supp...@ircnow.org:587 \ > auth <secrets> > > match for local action "local_mail" > match for any action "outbound" > > Inside /etc/mail/secrets: > > support supp...@ircnow.org:PASSWORD > > I am using ircnow.org as a mail relay. Here is its > /etc/mail/smtpd.conf: > > pki mail.ircnow.org cert "/etc/ssl/ircnow.org.fullchain.pem" > pki mail.ircnow.org key "/etc/ssl/private/ircnow.org.key" > > # tables setup > table aliases file:/etc/mail/aliases > table domains file:/etc/mail/domains > table passwd passwd:/etc/mail/passwd > table virtuals file:/etc/mail/virtuals > table hosts file:/etc/mail/hosts > > listen on lo0 mask-src > listen on lo0 port 10028 tag DKIM mask-src > listen on egress port 25 tls pki mail.ircnow.org mask-src > listen on egress port 587 tls-require pki mail.ircnow.org auth <passwd> > mask-src > action "lmtp" lmtp "/var/dovecot/lmtp" rcpt-to virtual <virtuals> > action "relay" relay > action "relay_dkim" relay host smtp://127.0.0.1:10027 > > match from any for domain <domains> action "lmtp" > match tag DKIM for any action "relay" > match from src <hosts> for any action "relay_dkim" > match auth from any for any action "relay_dkim" > > On bnc3.ircnow.org, I run this command: > > $ /usr/sbin/sendmail -tv -F support -f support < samplemail > > samplemail contains this message: > > From: support <supp...@ircnow.org> > To: u...@example.com > Subject: Welcome to IRCNow! > MIME-Version: 1.0 > Content-Type: text/plain; charset=us-ascii > Content-Disposition: inline > > Welcome to IRCNow! > > When running the above command, I get this output: > > <<< 220 bnc3.ircnow.org ESMTP OpenSMTPD > >> EHLO localhost > > <<< 250-bnc3.ircnow.org Hello localhost [local], pleased to meet you > <<< 250-8BITMIME > <<< 250-ENHANCEDSTATUSCODES > <<< 250-SIZE 36700160 > <<< 250 HELP >> MAIL FROM:<supp...@bnc3.ircnow.org> > > <<< 421 4.3.0 Temporary Error > sendmail: command failed: 421 4.3.0 Temporary Error > > On bnc3.ircnow.org, I see this in /var/log/maillog: > > Jan 3 08:26:27 bnc3 smtpd[]: smtp disconnected reason=quit > Jan 3 08:38:36 bnc3 smtpd[]: smtp connected address=local host=bnc3.ircnow.org > Jan 3 08:38:36 bnc3 smtpd[]: smtp failed-command command="MAIL > FROM:<supp...@bnc3.ircnow.org> " > result="421 4.3.0 Temporary Error" > Jan 3 08:38:36 bnc3 smtpd[]: smtp disconnected reason=quit > > The mail relay (ircnow.org) never even sees the email, since > bnc3.ircnow.org is not sending it. Instead, the mail is discarded. > > I then tried running $ nc localhost 25: > > 220 bnc3.ircnow.org ESMTP OpenSMTPD > ehlo bnc3 > 250-bnc3.ircnow.org Hello bnc3 [127.0.0.1], pleased to meet you > 250-8BITMIME > 250-ENHANCEDSTATUSCODES > 250-SIZE 36700160 > 250-DSN > 250 HELP > mail from: <supp...@ircnow.org> > 421 4.3.0 Temporary Error > > About 50-70% of the time, I get the above message. Could opensmtpd > be greylisting sendmail from localhost? > > I tried enabling debugging: > > # smtpd -dv > > Then, I attempt to use sendmail: > > $ /usr/sbin/sendmail -tv -F support -f support < samplemail > > mta delivery evpid= from=<supp...@bnc3.ircnow.org> to=<u...@example.com> > rcpt=<-> > source="209.141.50.204" relay="209.141.46.110 (mail.ircnow.org)" delay=0s > result="Ok" stat="250 > 2.0.0 Message accepted for delivery" > debug: mta: : no task for relay > [relay:ircnow.org,port=587,smtp+tls,auth=secrets:support,mx] > mta: debug: last connection: hanging on for 10s > debug: mta: flush for (-> u...@example.com) > debug: mta: ... timeout for > [relay:ircnow.org,port=587,smtp+tls,auth=secrets:support,mx] > debug: mta: draining > [relay:ircnow.org,port=587,smtp+tls,auth=secrets:support,mx] refcount=2, > ntask=0, nconnector=1, nconn=1 > debug: mta: all done for > [relay:ircnow.org,port=587,smtp+tls,auth=secrets:support,mx] > smtp connected address=local host=bnc3.ircnow.org smtp failed-command > command="MAIL > FROM:<supp...@bnc3.ircnow.org> " result="421 4.3.0 Temporary Error" > smtp disconnected reason=quit > debug: control -> client: pipe closed > debug: clearing p=client, fd=11, pid=0 > mta: timeout for session hangon > > I tried adding tracing: > > # smtpd -dv -T all > > Then calling: > > $ /usr/sbin/sendmail -tv -F support -f support < samplemail > > mproc: lka -> pony: enabled > debug: smtpd: scanning offline queue... > debug: smtpd: offline scanning done > mproc: control -> client-proc: enabled > ramstat: increment: control.session > ramstat: control.session (0x): 0 -> 1 > mproc: control -> pony : 4 IMSG_CTL_SMTP_SESSION > imsg: pony <- control: IMSG_CTL_SMTP_SESSION (len=4) > smtp: 0x: connected to listener 0x [hostname=bnc3.ircnow.org, port=0, > tag=local] > smtp: 0x: STATE_NEW -> STATE_CONNECTED > smtp connected address=local host=bnc3.ircnow.org > mproc: pony -> lka: realloc 0 -> 128 > mproc: pony -> lka : 86 IMSG_REPORT_SMTP_LINK_CONNECT > smtp: 0: >>> 220 bnc3.ircnow.org ESMTP OpenSMTPD > mproc: pony -> lka : 70 IMSG_REPORT_SMTP_PROTOCOL_SERVER > mproc: pony -> lka : 50 IMSG_??? (128) > mproc: pony -> control: realloc 0 -> 128 > mproc: pony -> control : 46 IMSG_STAT_INCREMENT > mproc: pony -> control : 52 IMSG_STAT_INCREMENT > mproc: pony -> control : 0 IMSG_CTL_SMTP_SESSION > smtp: 0x: IO_LOWAT <io:0x fd=12 to=300000 fl=W ib=0 ob=0> > imsg: lka <- pony: IMSG_REPORT_SMTP_LINK_CONNECT (len=86) > imsg: lka <- pony: IMSG_REPORT_SMTP_PROTOCOL_SERVER (len=70) > imsg: control <- pony: IMSG_STAT_INCREMENT (len=46) > imsg: lka <- pony: IMSG_??? (128) (len=50) > ramstat: increment: smtp.session > ramstat: smtp.session (0x): 0 -> 1 > imsg: control <- pony: IMSG_STAT_INCREMENT (len=52) > ramstat: increment: smtp.session.local > ramstat: smtp.session.local (0x): 0 -> 1 > imsg: control <- pony: IMSG_CTL_SMTP_SESSION (len=0, fd=12) > mproc: control -> client-proc : 0 IMSG_CTL_OK > smtp: 0x: IO_DATAIN <io:0x fd=12 to=300000 fl=R ib=15 ob=0> > > smtp: 0x: <<< EHLO localhost > mproc: pony -> lka : 49 IMSG_REPORT_SMTP_PROTOCOL_CLIENT > mproc: pony -> lka : 50 IMSG_??? (129) > smtp: 0x: STATE_CONNECTED -> STATE_HELO > smtp: 0x: >>> 250-bnc3.ircnow.org Hello localhost [local], > pleased to meet you > mproc: pony -> lka : 99 IMSG_REPORT_SMTP_PROTOCOL_SERVER > smtp: 0x: >>> 250-8BITMIME > mproc: pony -> lka : 47 IMSG_REPORT_SMTP_PROTOCOL_SERVER > smtp: 0x: >>> 250-ENHANCEDSTATUSCODES > mproc: pony -> lka : 58 IMSG_REPORT_SMTP_PROTOCOL_SERVER > smtp: 0x: >>> 250-SIZE 36700160 > mproc: pony -> lka : 52 IMSG_REPORT_SMTP_PROTOCOL_SERVER > smtp: 0x: >>> 250 HELP > mproc: pony -> lka : 43 IMSG_REPORT_SMTP_PROTOCOL_SERVER > imsg: lka <- pony: IMSG_REPORT_SMTP_PROTOCOL_CLIENT (len=49) > imsg: lka <- pony: IMSG_??? (129) (len=50) > imsg: lka <- pony: IMSG_REPORT_SMTP_PROTOCOL_SERVER (len=99) > imsg: lka <- pony: IMSG_REPORT_SMTP_PROTOCOL_SERVER (len=47) > imsg: lka <- pony: IMSG_REPORT_SMTP_PROTOCOL_SERVER (len=58) > imsg: lka <- pony: IMSG_REPORT_SMTP_PROTOCOL_SERVER (len=52) > imsg: lka <- pony: IMSG_REPORT_SMTP_PROTOCOL_SERVER (len=43) > smtp: 0x: IO_LOWAT <io: fd=12 to=300000 fl=W i > b=0 ob=0> > smtp: 0x: IO_DATAIN <io: fd=12 to=300000 fl=R > ib=38 ob=0> > smtp: 0x: <<< MAIL FROM:<supp...@bnc3.ircnow.org> > mproc: pony -> lka : 72 IMSG_REPORT_SMTP_PROTOCOL_CLIENT > mproc: pony -> queue: realloc 0 -> 128 > mproc: pony -> queue : 8 IMSG_SMTP_MESSAGE_CREATE > imsg: lka <- pony: IMSG_REPORT_SMTP_PROTOCOL_CLIENT (len=72) > imsg: queue <- pony: IMSG_SMTP_MESSAGE_CREATE (len=8) > queue-backend: queue_message_create() -> 0 (00000000) > mproc: queue -> pony: realloc 0 -> 128 > mproc: queue -> pony : 12 IMSG_SMTP_MESSAGE_CREATE > imsg: pony <- queue: IMSG_SMTP_MESSAGE_CREATE (len=12) > smtp: 0x21f72a63000: >>> 421 4.3.0 Temporary Error > mproc: pony -> lka : 66 IMSG_??? (134) > 430fa6be3663e10f smtp failed-command command="MAIL FROM:<support@bnc3. > ircnow.org> " result="421 4.3.0 Temporary Error" > mproc: pony -> lka : 60 IMSG_REPORT_SMTP_PROTOCOL_SERVER > smtp: 0x: STATE_HELO -> STATE_QUIT > smtp: 0x: IO_LOWAT <io:0x fd=12 to=300000 fl=W i > b=0 ob=0> > smtp disconnected reason=quit > mproc: pony -> lka : 33 IMSG_REPORT_SMTP_LINK_DISCONNECT > mproc: pony -> control : 46 IMSG_STAT_DECREMENT > imsg: lka <- pony: IMSG_??? (134) (len=66) > imsg: lka <- pony: IMSG_REPORT_SMTP_PROTOCOL_SERVER (len=60) > imsg: lka <- pony: IMSG_REPORT_SMTP_LINK_DISCONNECT (len=33) > debug: control -> client: pipe closed > debug: clearing p=client, fd=11, pid=0 > > ramstat: decrement: control.session > ramstat: control.session (0xd): 1 -> 0 > imsg: control <- pony: IMSG_STAT_DECREMENT (len=46) > ramstat: decrement: smtp.session > ramstat: smtp.session (0x): 1 -> 0 > > I wonder if perhaps there are corrupt data files somewhere, but > I'm also getting a similar 421 4.3.0 Temporary error on a 2nd > OpenBSD 6.6 box I am running. > > Any clues about what is causing the error?