Local message delivery

I wonder if Kumo can be integrated with dovecot to deliver mail for local users. I do not really see anything in the docs, so I assume that it cannot, but thought it would be worth asking. Thanks in advance.

Hey there @artistic-yaffle, thanks for posting. Please read the “Troubleshooting” and “How to Ask for Help” buttons below. If you would like a 1:1 support session from the KumoMTA team, details are at the “Book a Support Session” button below.

That should drop messages in maildir which to my understanding DoveCot can read.

Technically this will work but the maildir functionality is really not built out yet. I believe there is a ticket to do this waiting g for someone to fund it (nudge nudge, wink wink).
Right now all messages end up in a single dir and while it is good for thinks like postmaster notifications, it is really not ready for a full webmail implementation. (Yet).

I would love to make that project happen but we need to know people want it and are willing to support it.

Thanks Mike and Tom. Got it.

Tried the method described in the message above. It does not seem to pick up on the event:

kumo.on(‘get_queue_config’, function(domain, tenant, campaign, routing_domain)
if domain == ‘mydomain.com’ then
– Store this domain into a maildir, rather than attempting
– to deliver via SMTP
print(“FOUND IT”)
return kumo.make_queue_config {
protocol = {
maildir_path = ‘/tmp/kumo-maildir’,
},
}
else
– Otherwise, just use the defaults
return kumo.make_queue_config {}
end

end)

FOUND it is not being printed and Kumo attempts to deliver the message using smtp. I am using the queue_helper, so maybe that’s the reason

So I am wondering if I can specify a a port number in the routing_domain in the queues.toml for this domain?

So right now it seems that my only solution is to have a separate box for postfix and dovecot to handle theincoming mail

If it didn’t match you may want to print what it thinks the domain is to identify why it didn’t match.

The queue logic is ordered, so if you invoke your queue helper before the custom get_queue_config, then the the custom one will never trigger. Move the custom config above your queue helper

Thanks, Mike and Tom! Yes, you’re right, it was because of the ordering. So this means that all we really need is the access to the user part of the destination email address so we can save the email for different users in their respective directories. Thanks once again!

This may be helpful.

So….
local mylocalpart = msg:recipient().user

Yeah in that event we don’t have the message. Only these: kumo.on(‘get_queue_config’, function(domain, tenant, campaign, routing_domain)