Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


make EXIM Multiple Smarthost routers
New on LowEndTalk? Please Register and read our Community Rules.

All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.

make EXIM Multiple Smarthost routers

mehargagsmehargags Member
edited September 2016 in Help

Hi all,
This thread talks about how to "hard-code" a domain to a particular smarthost but thats not what I want

To speed up parallel campaign sending, I'm thinking of how to implement Multiple Smarthost routers: + transport: for different ESPs simultaneously.
and
then how do I instruct my PHP Mailer Script to send a Particular campaign through one of these routers.

setup smarthosts on my Exim like:

router1 : Amazon SES router2 : Elastic Email router3: Sparkpost

and then from my Mailing list (PHP App) I should be able to assign :

campaign 1 -->send thru--> router1 campaign 2 -->send thru--> router2 campaign 3 -->send thru--> router3

I should be able to mix'n'match routers at will, like if I want campaign2 --> send thru --> router3 I should be able to "Select" this from my campaign.

Any pointers please ?

Comments

  • I know you've probably thought of this but in case you were over thinking it and missed the obvious amswer, why not just run 3 exim server instances all running on different ports or on different IPs?

  • yomeroyomero Member
    edited September 2016

    As Jonchun said, or another idea: if you are able to, you can try using docker containers for multiple exim servers.

    (Oh, found a good use for that hyperhyped stuff).

  • Yes @Jonchun and @yomero :

    that is obliviously Plan A to run LXC containers (Full Hypervisors will be an overkill) each running a bare minimum EXIM as Smarthost to different ESPs.

    I just wanted to take opinion if we can do it within single EXIM instance, will be one less thing for me to manage.!

    Thanks anyways for re-enforcing my belief...

    More ideas are duly welcome.

  • This doesn't seem to be exactly what you're looking for, but it does seem to do outbound parallel load balancing.

    http://mireka.org/doc/basic-configuration/relayhost.html

    I haven't used it, and I don't know if it'll support the auth that you need for using such services.

    It would be incredible if there was a FOSS out there that could balance between multiple SMTP relays with unique auth and sending limits.

  • You can use msmtp to do this. Setup all email providers in the /etc/msmtprc file and test them from the command line. A good guide on MSMTP - https://wiki.archlinux.org/index.php/Msmtp.
    Once everything works as expected you can modify the sendmail_path value in your script and choose an account. Like this:

    ini_set( 'sendmail_path', '/usr/bin/msmtp -t -i -a sparkpost' );
    

    When testing with PHP make sure /etc/msmtprc is owned by www-data or whatever user your PHP runs as.

  • mehargagsmehargags Member
    edited September 2016

    @jesin said:
    You can use msmtp to do this.

    Well, instead of this I'd straight use API or SMTP Relay interface provided by all ESPs evading use of Exim or any other MTA altogether.

    The idea was to USE Exim to relay to multiple smarthosts parallely using mutiple routers. Anyway the best solution till now seems to have multiple LXC Containers having Exim of their own. I can however also use msmtp/phpmailer/SMTP2GO/etc. in these Containers separately too.

    Thanks anyways

Sign In or Register to comment.