Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I have two ISPs at two separate locations, both with separate SMTP servers. Neither SMTP server allows relaying from the other ISP, so when taking my laptop between each location, I have to swap between smtp servers.

I currently edit the /etc/hosts file to override smtp.magichost.com with the IP addresses of the SMTP server I'm supposed to be using, but that is a pain.

Is there a better way to do this?

share|improve this question

6 Answers 6

up vote 2 down vote accepted

If you are using Thunderbird, you can try installing the SmtpSelect extension.

If you are trying to solve the more general problem, most (at least the ones I work with) ISPs allow you to authenticate and submit mail to the mail submission port (587). Perhaps this will work for you.

If that still doesn't work, sign up for a gmail account and use gmail's mail submission port (smtp.gmail.com:587) to send your mail out.

If you really don't want to do that, setup some sort of smart script that wakes up every n minutes, checks to see where it is, and reconfigures /etc/hosts or /etc/mail/mailertable to redirect the mail appropriately.

share|improve this answer
    
if your ISPs don't let you relay when authenticated on port 587, get new ISPs... –  Alnitak May 23 '09 at 10:12

Mail Switch is an application that claims to be able to do this for you, selecting the mailserver based on the network you are connected to.

share|improve this answer

Another solution may be to just use one of the ISP's mail servers, but with authentication enabled.

Allowing un-authed access from your own network (as an ISP) is fine, allowing external access would just mean anyone could use you as an Open mail relay. However your ISP may allow you to authenticate your outbound mail connection and this way allow you to send from a location where you aren't connect to their network.

as an example, my ISP has mail.internode.on.net as their regular server and securemail.internode.on.net as their authenticated server, this means I can send and receive my emails via an encrypted connection, wherever I am in the world.

share|improve this answer

It would help greatly to know what application you're using to send mail.

If you're using Outlook, just set up two separate POP3 accounts in one profile. Each one should have the different SMTP host. Make one of them with an invalid incoming mail server (such as test), remove that account from the Send/Receive group (Tools > Options > Mail Setup > Send/Receive), and then when you're sending mail, an "Accounts" button appears on the toolbar to switch between which account is sending the mail.

share|improve this answer

Probably want to use a comprehensive network profile switcher tool like MobileNetSwitch (see page 24); it allows dynamically adjusting SMTP, Outlook, hosts settings when you select a network profile. On top of all the other crucial setting switches which I swear by when using a laptop across various sites.

share|improve this answer

In the past, I have used the cygwin version of the Exim mail server, configured as a Windows service on my laptop. Then I just set my mail client to use 127.0.0.1 as the outgoing SMTP server, and the laptop delivers its own mail!

share|improve this answer
    
Not much good if you're in a dynamic IP block. You'll find that you're pretty heavily blacklisted. Besides, some ISPs block outbound port 25 to anything other than their own SMTP server. –  tomfanning Oct 9 '09 at 9:55

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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