Postfix Configure Multiple ISP Client SMTP Authentication

by Vivek Gite · 4 comments

How do I support multiple ISP accounts (smarthost) in the Postfix SMTP client for relaying email? For example:

[a] user1@isp1.com must be relay via smtp.isp1.com.
[b] user1@isp2.com must be relay via smtp.isp2.com.
[c] me@mycorp.com must relay all my default email via smtp.mycorp.com.

Only Postfix version v2.3+ supports multiple ISP accounts via sender-dependent override for the global relayhost parameter settings. Open your main.cf file:
# vi /etc/postfix/main.cf
Add or modify the settings as follows:

 
smtp_sender_dependent_authentication = yes
sender_dependent_relayhost_maps = hash:/etc/postfix/relayhost_map
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/passwd
relayhost = [smtp.mycorp.com]:submission
 

Create /etc/postfix/relayhost_map file:
# vi /etc/postfix/relayhost_map
Append configuration as follows (please note that default smtp.mycorp.com is not included) :

# Per-sender provider
user1@isp1.com		[smtp.isp1.com]
user1@isp2.com		[smtp.isp2.com]

Create update /etc/postfix/passwd file as follows:

# Per-sender authentication
user1@isp1.com		user1@isp1.com:password4isp1
user1@isp2.com		user2@isp2.com:password4isp2
# Login for the default relayhost
[smtp.mycorp.com]	defaultUsername:defaultPassword

Save and close the file. Restart Postfix:
# postmap hash:/etc/postfix/passwd
# postmap hash:/etc/postfix/relayhost_map
# /etc/init.d/postfix reload

Where,

  • smtp_sender_dependent_authentication = yes : Enable sender-dependent authentication in the Postfix SMTP client; this is available only with SASL authentication.
  • sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relay : A sender-dependent override for the global relayhost parameter setting. The tables are searched by the envelope sender address and @domain. A lookup result of DUNNO terminates the search without overriding the global relayhost parameter setting.
  • smtp_sasl_auth_enable = yes : Enable SASL authentication in the Postfix SMTP client. By default, the Postfix SMTP client uses no authentication.
  • smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd : SMTP client lookup tables with one username:password entry per remote hostname or domain, or sender address when sender-dependent authentication is enabled.
  • relayhost = [mail.myisp.net]:submission : Setup default relay host.

Featured Articles:

Want to read Linux tips and tricks, but don't have time to check our blog everyday? Subscribe to our daily email newsletter to make sure you don't miss a single tip/tricks. Subscribe to our weekly newsletter here!

{ 4 comments… read them below or add one }

1 Sureshkumar 03.18.09 at 1:38 pm

Previous I was tried this concept but it was not working
My scenarios adding multiple users with SMTP auth
With username and passwd
Am waiting for your reply.please scrap me or mail me
this is my email id : krisuresh001@gmail.com

2 Sachin 09.04.09 at 6:50 pm

Is this also supported on sendmail?

3 Coschuetzer 10.11.09 at 11:40 pm

At first, thanks aslot for making this (almost) clear.

What I don’t understand is: If …
“[a] user1@isp1.com must be relay via smtp.isp1.com.
[b] user1@isp2.com must be relay via smtp.isp2.com.”
(so there is only user1 involved)

… then why is this line in /etc/postfix/passwd ?
“user1@isp2.com user2@isp2.com:password4isp2″

Where does user2 coming from all the sudden?!

Shouldn’t it be like this
“user1@isp2.com user1@isp2.com:password4isp2″

or do you just want to show, that the username on the “real” isp2.com has not necessarily to correspondent with the “local” user1?

Thanks for answering,
Coschuetzer

4 Wolfgang muller 11.03.09 at 5:15 pm

Global internet providers aim is to provide access that is effortless to utilize. They provide access that is as fast as you absolutely need it to be, and will work with the system you have.

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Previous FAQ:

Next FAQ:

nixCraft FAQ PDF Collection Now Available To All