On 05/26/18 19:18, Edgar Pettijohn III wrote:
Sorry, I've read the announcements, looked at man pages and examples,
but still didn't manage to figure out how to translate "deliver via
dovecot
lmtp"
(to have sieve working) into the new syntax. So far my config was:
table vusers ldap:/etc/mail/ldap.conf
table vdomains ldap:/etc/mail/ldap.conf
table passwd ldap:/etc/mail/ldap.conf
accept from local for local virtual <vusers> deliver to lmtp
"/var/dovecot/lmtp"
accept from any for domain <vdomains> virtual <vusers> deliver to lmtp
"/var/dovecot/lmtp"
I tried changing those into:
action "lmtp-local" mda "/usr/libexec/mail.lmtp -d /var/dovecot/lmtp"
try:
action "lmtp-local" mda "/usr/libexec/mail.lmtp -d
unix:/var/dovecot/lmtp -f %{sender}"
However, this does feel odd. I need to switch over as well, but still
trying to wrap my brain around the new config.
virtual <vusers>
action "relay" relay
match from local for local action "lmtp-local"
match from any for domain <vdomains> action "lmtp-local"
match from local for any action "relay"
but delivery attempts fail with Error ("mail.lmtp: sender must be
specified
with -f")
What would be the proper config for this?
--
viq
Try this patch. You may need to play with the %%{rcpt.user} bit
depending on your dovecot userdb. It needs more to handle different use
cases.
smtpd.conf bits
action "local" lmtp "unix:/var/dovecot/lmtp"
match for local action "local"
diff -u -p -u -r1.202 parse.y
--- parse.y 25 May 2018 14:10:28 -0000 1.202
+++ parse.y 27 May 2018 03:00:06 -0000
@@ -179,7 +179,7 @@ typedef struct {
%token HELO HELO_SRC HOST HOSTNAME HOSTNAMES
%token INCLUDE INET4 INET6
%token KEY
-%token LIMIT LISTEN LOCAL
+%token LIMIT LISTEN LOCAL LMTP
%token MAIL_FROM MAILDIR MASK_SRC MASQUERADE MATCH MAX_MESSAGE_SIZE
MAX_DEFERRED MBOX MDA MTA MX
%token NODSN
%token ON
@@ -376,6 +376,10 @@ MBOX {
| EXPAND_ONLY {
dispatcher->u.local.expand_only = 1;
} dispatcher_local_options
+| LMTP STRING {
+ asprintf(&dispatcher->u.local.command,
+ "/usr/libexec/mail.lmtp -f %%{sender} -d %s %%{rcpt.user}", $2);
+} dispatcher_local_options
;
@@ -1535,6 +1539,7 @@ lookup(char *s)
{ "key", KEY },
{ "limit", LIMIT },
{ "listen", LISTEN },
+ { "lmtp", LMTP },
{ "local", LOCAL },
{ "mail-from", MAIL_FROM },
{ "maildir", MAILDIR },
Plus a little log porn for you.
May 26 22:07:45 laptop smtpd[38093]: e133b6fee23c0b30 smtp
event=connected address=local host=laptop.my.domain
May 26 22:07:45 laptop smtpd[38093]: e133b6fee23c0b30 smtp event=message
address=local host=laptop.my.domain msgid=39a32d75
from=<ed...@laptop.my.domain> to=<ed...@laptop.my.domain> size=355
ndest=1 proto=ESMTP
May 26 22:07:45 laptop smtpd[38093]: e133b6fee23c0b30 smtp event=closed
address=local host=laptop.my.domain reason=quit
May 26 22:07:45 laptop dovecot: lmtp(9496): Connect from local
May 26 22:07:45 laptop dovecot: lmtp(edgar):
msgid=<e133b6ffd5307...@laptop.my.domain>: saved mail to INBOX
May 26 22:07:45 laptop dovecot: lmtp(9496): Disconnect from local:
Successful quit
May 26 22:07:45 laptop smtpd[38093]: 0000000000000000 mda event=delivery
evpid=39a32d75b3524ef6 from=<ed...@laptop.my.domain>
to=<ed...@laptop.my.domain> rcpt=<ed...@laptop.my.domain> user=edgar
delay=0s result=Ok stat=Delivered