zone-eu / zone-mta

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

Disabling the sending function on one of the two servers #328

Closed theshilovs closed 1 year ago

theshilovs commented 1 year ago

Dear developers and users, hello! Thank you for your hard work in the form of an excellent product.

Please help me in solving this issue.

I use a full installation of WildDuck Mail Server on one server (for example MAIL01). • This server must receive mail traffic from other external servers (Haraka is used for this on port 25) • Mail clients must connect to this server (WildDuck is used for this on IMAP port 993, and Zone–MTA for SMTP on port 587) • Outgoing SMTP traffic is not available from this server to the Internet (blocked by the provider due to potential SPAM) To bypass the last point, another WildDuck Mail Server (MAIL02) was deployed on another site. • Connections to databases hosted on the MAIL01 server are configured on it • The Haraka service is disabled • Disabled the ability to connect mail clients (port 587) /etc/zone-mta/interfaces/feeder.toml [feeder] enabled=false • This server is needed exclusively for sending SMTP traffic to the Internet.

How to configure Zone-MTA on MAIL01 so that it can only be accessed by mail clients (port 587) and disable the sending function. And assign the sending function exclusively to MAIL02? Currently, mail messages are sent from both MAIL01 and MAIL02, but MAIL01 emails get stuck in the queue due to prohibited outgoing SMTP traffic.

I would appreciate your help! Thanks!

andris9 commented 1 year ago

This config for zonemta should disable all sending:

[zones]
default=false
bounces=false
theshilovs commented 1 year ago

Thank you for your prompt response.

In the /etc/zone-mta/zonemta.toml file, I add the following lines:

… [zones] default=false bounces=false

@include "zones/*.toml"

After restarting the service, nothing changed:

Main PID: 10158 (zone-mta: maste) Tasks: 43 (limit: 4699) Memory: 324.8M CGroup: /system.slice/zone-mta.service ├─10158 zone-mta: master process ├─10171 zone-mta: receiver/feeder ├─10177 zone-mta: sender/default ├─10191 zone-mta: sender/bounces └─10199 zone-mta: sender/routed

But after removing # @include "zones/*.toml" … [zones] default=false bounces=false …

And after rebooting the service, we get what you need:

Main PID: 10564 (zone-mta: maste) Tasks: 22 (limit: 4699) Memory: 108.4M CGroup: /system.slice/zone-mta.service ├─10564 zone-mta: master process └─10577 zone-mta: receiver/feeder

It turns out that this line worked and the # sign did not disable it?