corecode / dma

The DragonFly Mail Agent, a small Mail Transport Agent (MTA), designed for home and office use.
Other
235 stars 51 forks source link

Feature request: Local-only mode #121

Open iskunk opened 1 year ago

iskunk commented 1 year ago

In my use case, I'd like to receive mail from system daemons / cron jobs / etc. but don't want to set up authentication for an external/third-party SMTP relay. Partly because the credentials could allow access to more than just SMTP relaying if they are ever leaked (see: Gmail) and also because nowadays, setting up a third-party e-mail service with simple non-2FA username + password authentication can be non-trivial, if even supported at all (see: also Gmail).

There is currently no good way to get this functionality, because if I leave SMARTHOST unset, or set it to a dummy destination (e.g. localhost) then dma will either attempt direct delivery (a quixotic task in today's world of spam-spewing home Internet connections) or keep retrying delivery for a long time.

This would effectively be the opposite of the NULLCLIENT directive. Any attempt to send to a remote destination, or to an alias that resolves to a remote destination, should fail immediately.

corecode commented 1 year ago

maybe something like NOREMOTE?  Happy to take a patch.

On 14/02/2023 01:25, Daniel Richard G. wrote:

In my use case, I'd like to receive mail from system daemons / cron jobs / etc. but don't want to set up authentication for an external/third-party SMTP relay. Partly because the credentials could allow access to more than just SMTP relaying if they are ever leaked (see: Gmail) and also because nowadays, setting up a third-party e-mail service with simple non-2FA username + password authentication can be non-trivial, if even supported at all (see: also Gmail).

There is currently no good way to get this functionality, because if I leave |SMARTHOST| unset, or set it to a dummy destination (e.g. |localhost|) then dma will either attempt direct delivery (a quixotic task in today's world of spam-spewing home Internet connections) or keep retrying delivery for a long time.

This would effectively be the opposite of the |NULLCLIENT| directive. Any attempt to send to a remote destination, or to an alias that resolves to a remote destination, should fail immediately.

— Reply to this email directly, view it on GitHub https://github.com/corecode/dma/issues/121, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABLOO437I5CYISNDCJBKBTWXMXNTANCNFSM6AAAAAAU3GHDLU. You are receiving this because you are subscribed to this thread.Message ID: @.***>

iskunk commented 1 year ago

The code looks straightforward enough... I can try putting something together. I have a couple questions:

corecode commented 1 year ago
iskunk commented 1 year ago

All right, my PR is up. Let me know what you think.