Network Proxies
In some environments, access to IMAP/SMTP servers or OAuth2 authentication endpoints may be blocked or restricted. RustMailer supports SOCKS5 proxy configurations to help route network traffic through a reliable proxy bridge.
1. Why use a proxy?
- Bypass network restrictions or firewalls
- Access blocked email providers or authentication servers
- Route traffic through a secured tunnel
2. Add a proxy in the Web UI
Each RustMailer instance allows you to configure one or more SOCKS5 proxies after startup.
To add a proxy:
- Go to the Web UI →
Settings
→Proxy Management
- Click the "Add" button
- Enter a valid socks5/http proxy URL, for example:
socks5://127.0.0.1:22308
⚠️ Use IP addresses instead of hostnames. Hostnames are not currently supported in proxy definitions.

3. Using Proxies for Accounts and OAuth2
When creating or editing an email account, you can:
- Enable or disable proxy usage separately for IMAP and SMTP
- Select a specific proxy from the configured list

- Use a proxy for OAuth2 authentication if access to the provider is restricted

🛡️ With proper proxy assignment, RustMailer can reliably access email servers and OAuth services even in restricted or firewalled network environments.
✅ Summary
- Add proxies via the Web UI after startup
- Use
socks5://IP:PORT
orhttp://IP:PORT
format (IP only) - Assign proxies to IMAP/SMTP and OAuth2 connections per account
When using a proxy with webhooks, make sure to use an HTTP-type proxy, not SOCKS5. Webhook requests (e.g., to Discord or Slack) typically rely on HTTP semantics, and many destinations do not support SOCKS5 proxying properly.
For IMAP and SMTP, it is recommended to use a SOCKS5 proxy, as these protocols operate better with lower-level socket tunneling.
When performing OAuth2 authentication, it is generally safer to use HTTP proxies for better compatibility with web-based token exchange flows. SOCKS5 might work in some cases, but it's not guaranteed.
👉 Please pay extra attention to proxy types based on the protocol you're dealing with. Using the wrong type can lead to subtle errors or failed connections.