#1297 Figure out a way to use exim with pagure's milter
Closed: Won't Fix a year ago by wombelix. Opened 7 years ago by sergiodj.

Currently the milter module depends on sendmail or postfix, but Debian's default MTA is exim4. It would be nice to figure out a way to integrate both, or (worst case) come up with another, separate way to use exim4.

For future reference, it may be possible to use exim's content filtering mechanism and make it communicate with the milter module through the UNIX socket (as postfix does), but I haven't investigated further.


I have about 0 knowledge of exim, so I'm up for helping anyone willing to work on this, but otherwise I'm afraid it'll be very low on my priority list.

I have nonzero knowledge of Exim, and we could probably ping dwmw2 as well.

Exim's configuration language provides far more flexibility than postfix and is at least remotely comprehensible when compared to Sendmail, so there's a good chance that a milter isn't required.

However, is there a precise description of what the included milter does, and what it needs to provide to pagure in order for everything to work?

What the milter does is receiving emails and based on the address it was sent to, it adds the content of the email to the specific ticket/PR.

It sure doesn't sound like the milter actually uses the functionality of the milter interface (which enables transforming the message as it passes through the MTA). Instead it seems you could get all of that simply by piping the message to a script. The MTA could probably provide sufficient arguments so that the script wouldn't need to re-parse the message.

Said script would have to exist, of course, but would have applicability beyond just making Exim work. Such as pulling messages via fetchmail or something of the sort.

I guess I need to read the source for the milter, but I'm assuming it just makes a simple call to the pagure API based on information that the MTA provides.

Instead it seems you could get all of that simply by piping the message to a script.

That's basically what we do here, except that the piping happens via the milter mechanism. It should be pretty straight forward to adjust the script to simply take the email from, say stdin or so. In fact it was this way at the beginning iirc and then ported to be used as a milter which was deemed likely more reliable than a "manual" parsing.

The last update was 6 years ago, no further requests, updates or actionable tasks since then, I'm going to close this issue for now to reduce our backlog.

Metadata Update from @wombelix:
- Issue close_status updated to: Won't Fix
- Issue status updated to: Closed (was: Open)

a year ago

Login to comment on this ticket.

Metadata