I am working on an email project that could benefit from dedicated IPs in regards to sender reputation. A lot of email services like Mailchimp offer this feature. I am curious how to go about setting something like this up. Here are my ideas so far:

  1. Setup a dedicated box with it's own IP to act only as a proxy and funnel requests through. I will somehow need to be able to route mail through this proxy in my socket code which could be tricky when dealing with SMTP. NGINX would probably be up for this job.
  2. Use some sort of floating IP system with my code monitoring network interfaces and dynamically binding to a certain interface on a request by request basis. This is probably a non-starter since I can't just have hundreds of floating IPs hooked up to a box.

Perhaps there is another much easier way to do this that I haven't found yet? If I'm already on the right track could you offer advice and tools to achieve this goal?

  • What have you attempted, and what was a specific problem you encountered? Actually doing a multi-tenant, multiple IP address, horizontally scaling, reputation aware email system will have several design decisions and implementation challenges. – John Mahowald Jan 15 at 19:29

Services that offer dedicated IPs have exactly that: Dedicated IPs that is in use by only 1 customer.

Your solutions don't offer dedicated IPs. You can proxy and tunnel all you want, but if the end result is that the email is going through your dedicated box with a single dedicated IP, the IP is no longer dedicated. (I assume your email project is multi-tenant).

Regarding option 2: It's possible to add hundreds of IPs to a single box. Not an issue, you just need to get the IPs from your ISP which will be a challenge.

  • well, you could use proxmox and add each customer a own server with own ip - benefits are that you have seperate data for any customers – djdomi Jan 14 at 15:55
  • I highly doubt Mailgun sets up a private email sending infrastructure and leaves it on standby just so a customer can have it send with a private IP. Even if that's what they did (it isn't) a single server could never process the kind of throughput some customers will have. What I need is my pool of processing servers to be able to route specific messages through a particular IP based on the customer's IP configuration. – sonrh Jan 14 at 17:07
  • We do mass mailing on a single box that has about 50 IPs. That single machine is capable of about 40 to 50 million emails per day. Email is relatively easy to transmit, it requires little resources. – Rudy Broersma Jan 15 at 21:38
  • @RudyBroersma what are the specs of that machine? Also what server software are you using? – sonrh Jan 16 at 1:35

Not the answer you're looking for? Browse other questions tagged or ask your own question.