zone-eu / zone-mta

📤 Modern outbound MTA cross platform and extendable server application
European Union Public License 1.2
583 stars 93 forks source link

SASL auth & Rate limit users #371

Closed ravivgolov closed 1 month ago

ravivgolov commented 4 months ago

Hello

Is it possible to set SASL auth and rate limit specific users?

How can I create an SASL username to use with SMTP only?

louis-lau commented 4 months ago

Sure, but you'd have to write a plugin for that.

ravivgolov commented 4 months ago

For SASL auth? or for the rate limit?

I want to be able to provide the following example SMTP details: relay.mailserver.com username: fk23rfij4fg password: anyrandom password ports: 587/465/2525/25

Where can I hire someone to configure and create the relay for me?

louis-lau commented 4 months ago

There's an included plugin that will make http calls to check auth, nothing for SASL afaik: https://github.com/zone-eu/zone-mta/wiki/Authenticating-users https://github.com/zone-eu/zone-mta/blob/master/plugins/core/http-auth.js

Here's an example auth plugin with a hardcoded username/password: https://github.com/zone-eu/zone-mta-template/blob/master/plugins/example-auth.js

Rate limiting would also be a plugin. Here's how the wildduck plugin does it: https://github.com/nodemailer/zonemta-wildduck/blob/4477c635415e13f42423c1070ff25584a9306b6b/index.js#L595-L698

Here's a plugin that rate limits based on a X-AuthUser header: https://github.com/andris9/zmta-xauth-ratelimit

Sorry, nothing exactly like you want, but at least some examples.

Where can I hire someone to configure and create the relay for me?

Sorry, don't know about that one! I'm not currently available but maybe someone else is. I would say it's probably good to have a good understanding of your own email infrastructure though.

ravivgolov commented 4 months ago

Thank you for the details. Maybe now you are available? I need only to set up the relay, have access from outside, and configure a few IPS to work.

louis-lau commented 4 months ago

Sorry, not available to protect my own mental health not because of time restrictions :)

ravivgolov commented 3 months ago

@louis-lau Actually, I need a very simple configuration, Are you still not available? I pay of course.