Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LMTP transport for dovecot #150

Closed
wants to merge 13 commits into from
Closed

LMTP transport for dovecot #150

wants to merge 13 commits into from

Conversation

runout-at
Copy link
Contributor

if dovecot is used for serving imap than it is better to let dovecot do the delivery.
it is done by using the LTMP protocol.

this is just an example exim config which is disabled by default and can be enabled by renaming 2 router-files as described in the header of the lmtp-router-file

this router is disabled by default
it could conflict with router/250_vexim_virtual_domains
which is the default router not using LMTP.
just one of the two files should be active.
@Udera
Copy link
Collaborator

Udera commented Jun 20, 2016

I currently pipe mails to dovecot in order to benefit from all the dovecot features (sieve):
| /usr/lib/dovecot/dovecot-lda -d $local_part@$domain
Your current approach would pass everything to lmtp, and you couldn't decide on a account-base? And neither reply_transport.

  file_transport = virtual_delivery
  reply_transport = address_reply
  pipe_transport = address_pipe

@runout-at
Copy link
Contributor Author

runout-at commented Jun 20, 2016

You're right. i need an additional router if exim should handle that.

In my setup (and it's just an example for people who want to know how LMTP could be used) exim is the MTA and dovecot the MDA.
dovecot has support for sieve, can pipe to commands,...
dovecot can use the vexim tables, so there is no difference for the postmaster and user.

it would be only a different way to route, transport and delivery of emails.
i think dovecot is the better choice for the delivery.

my plan is, to process vacation messages in dovecot/sieve too. (future)

@runout-at runout-at closed this Jun 20, 2016
@runout-at runout-at reopened this Jun 20, 2016
example for mysql config in dovecot using vexim database

this version includes the "host fields" feature
which is not included in vexim/master
@runout-at
Copy link
Contributor Author

i added the pipe router now.

do we need the reply router? what is the purpose?

@Udera Udera added this to the Version 2.3.1 milestone Jul 18, 2016
@Udera
Copy link
Collaborator

Udera commented Jul 18, 2016

Needs some testing. I'm suggesting to move that to version 2.3.1.

@Udera
Copy link
Collaborator

Udera commented Aug 18, 2016

Wouldn't it be better, to add an option to use lmtp for mail deliveries (checkbox)? And then query the database and set
transport = virtual_delivery_lmtp
instead of
transport = virtual_delivery ?

@runout-at
Copy link
Contributor Author

I was thinking about a server wide setting.
If we will do it per domain or per user it needs a lot of work to integrate into the database, frontend,...
Maybe a feature for a later version.
Right now i would commit it into master just as an example.

@Udera
Copy link
Collaborator

Udera commented Aug 22, 2016

If we will do it per domain or per user it needs a lot of work to integrate into the database, frontend,...

It's a small option, not so much work to do (siteadmin-page, useradd, adminuseradd).

For a temporary workaround, I would prefer a more compact solution:

  • Add transport virtual_delivery_lmtp
  • then activate lmtp with a variable and the .ifdef-construction, if lmtp is enable use:
    file_transport = virtual_delivery_lmtp else file_transport = virtual_delivery.

That makes handling of the configuration files much easier. And later we can easily fetch this setting from the database instead of this manual selector.

Change the pipe router to respect local_part_suffix.
eg needed for referencing projects with redmine.
In the original pipe transport affixes are removed from the .
This pipe transport will add the the affixes so the target can handle it.
eg for redmine referencing projects.
@rimas-kudelis
Copy link
Collaborator

Agree with Udera. Also, instead of moving and adding Dovecot files into the repository, I suggest to edit https://github.com/vexim/vexim2/wiki/Server-configuration:-Dovecot .

@runout-at runout-at closed this Sep 30, 2017
@runout-at runout-at deleted the lmtp-for-dovecot branch September 30, 2017 05:08
@runout-at runout-at mentioned this pull request Oct 29, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants