Proxy in KUMOMTA with SOCKS5

normally, the proxy server will be installed on a separate server. if you do that, you just use the internally bound IP and whatever port you want to use to inject on.
For instance if your proxy server has a private IP of 10.1.1.1 and you want to use port 5000 for your proxy address, then the command would be /opt/kumomta/sbin/proxy-server --listen 10.1.1.1:5000

That will allow you to send from KumoMTA to the proxy on port 5000 and specify any plumbed IP on teh proxy.

Lets say your proxy server has 10 public IPs in to 200.10.1.1 - 200.10.1.10 range, You can do something liek this in your sources config:

socks5_proxy_server = "10.1.1.1:5000"
socks5_proxy_source_address = "200.10.1.3"
ehlo_domain = "mydomain.com"```

Be sure that the proxy server is in your local network (VPC) with your KumoMTA server.

If you tried to install the dev version over your stable version, your kumod process is now masked.

you can six that with an unmask

sudo systemctl unmask kumomta

If you are usning TSA, you shoudl unmask the tsa agent too

sudo systemctl unmask kumo-tsa-daemon

And I can verify that Dante definitely does not work with email (as Socks5).

i want my proxy server to be working all the time and this command /opt/kumomta/sbin/proxy-server --listen 10.0.0.0:5000 only works for a short time

Thank you @faithful-ostrich it worked well for me. you are a life saver.

The quick and dirty way is to just ad a “&” to the end of the line and it will run in the background until you stop it, but that will bit survive a restart.
IE: /opt/kumomta/sbin/proxy-server --listen 10.1.1.1:5000 &

The better way it to create a system service for it.
sudo vi /etc/systemd/system/kumoproxy.service

Then add this to that file and save:

Description=KumoMTA's Socks5 Proxy service
After=network.target

[Service]
ExecStart=/opt/kumomta/sbin/proxy-server --listen 10.1.1.1:5000
Restart=always
User=root
Group=root
Type=simple

[Install]
WantedBy=multi-user.target```

Start, enable, and validate with:

sudo systemctl enable kumoproxy
sudo systemctl status kumoproxy```

I am super happy this helped you out. A fantastic way to say thank you would be to add yourself as a monthly Discord sponsor.

The $10/month helps caffeinate the team :slightly_smiling_face:

Also if having KumoProxy install and deploy easier without needing the MTA is important to you, please consider funding the effort. $1000 USD will go a long way toward making that happen and it is one of the items waiting for user funding. This project only moves forward with user support.

hey @faithful-ostrich I want to sign dkim of my outgoing mails with the respective ehlo domains I provided to my proxies.
For ex- proxy IP - 10.0.0.1
ehlo_domain- secure-mail-1.growth.com
proxy IP - 10.0.0.2
ehlo_domain- secure-mail-2.growth.com
Whenever mail goes from second IP dkim should be signed with “secure-mail-2.growth.com” and same for first IP.
Also on my received mail I want my
mailed-by and signed-by to be different
mailed-by - “secure-mail-2.growth.com”
signed-by - “my-original-mail-server”
As of now I can keep both of them static but I want it to dynamically change as the outgoing proxy

DKIM is usually signed based on the FROM domain and is not realy connected to a specifi IP. If you want these aligned, you will need to assign a pool that uses that IP whenever that sending domain is used.

Could you please elaborate, how to define a pool of such manner?

These are my current headers:-
Mail From: gotham@slowdgrowth.com
Received From: securemail.growth.com (securemail.growth.com. [173.233.237.237])
Return Path: no-reply@slowgrowth.com
Sender IP: 173.233.237.237
Mailed By: slowgrowth.com

And These are what i desire:-
Mail From: gotham@slowgrowth.com
Received From: securemail.growth.com (securemail.growth.com. [173.233.237.237])
Return Path: gotham@slowgrowth.com
Sender IP: 177.233.237.237
Mailed By: securemail.growth.com