> Up until now, we have had a common authenticator for our own staff so that
> they can send email from outside the office.
Have you thought about what you'll have to do when one of your staff
leaves? Shared secrets are always a Bad Thing.
> My thoughts we to do this:
>
> fixed_cram:
> driver = cram_md5
> public_name = CRAM-MD5
> server_secret = ${if eq{$1}{username1}{password1}fail} OR ${if
> eq{$1}{username2}{password2}fail}
> server_set_id = $1
That will get hugely messy when you get to your 13th client. :-)
Use a local database or a simple text file to store your client's
credentials, and use that in the authenticator. Something along the
lines of
${if eq{$3}{${lookup{$2}lsearch{smtp-auth.file}{$value}fail}}{yes}{no}}
should get you started.
-JP