From ilug-bounces@linux.ie Mon Dec 01 05:24:11 2003
Date: Mon, 01 Dec 2003 13:23:45 +0000
From: Nick Murtagh nickm@go2.ie
To: ilug@linux.ie

Michele Neylon :: Blacknight Solutions wrote:

> What's the problem? If it's working don't break it

I think he's saying he wants to know how to setup SMTP authentication in
sendmail, to work with the facilities provided in Outlook and Outlook
Express (and lots of decent email clients too).

Darragh, I think you'll find it easier to get help if you choose a sane
mail server like postfix or exim. I gave up on sendmail a long time
ago...

--
Irish Linux Users' Group
http://www.linux.ie/mailman/listinfo/ilug/


Date: Mon, 01 Dec 2003 13:52:40 +0000
From: Nick Murtagh nickm@go2.ie
To: ilug@linux.ie
Subject: Re: [ILUG] Authentication and sendmail

Darragh wrote:

> Yes, you have it. Can you tell me what's involved in setting these up?

Well, assuming you have a working postfix installation, you need to get
sasl up and running.

Getting sasl working is tricky. I have the following in
/usr/lib/sasl/smtpd.conf, which authenticates the user against a mysql
database. Probably more complicated than you need, but the sasl
documentation will provide simpler alternatives.

pwcheck_method: mysql
mysql_user: user
mysql_passwd: password
mysql_host: server_name
mysql_database: database_name
mysql_table: table_name
mysql_uidcol: column_containing_username
mysql_pwdcol: column_containing_password
mysql_extra: extra_sql_for_the_where_clause

Then put something like this in /etc/postfix/main.cf:

smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_mx_backup,
permit_mynetworks,
permit_sasl_authenticated,
check_relay_domains


In exim I would use something like this:


acl_check_rcpt:

...

accept authenticated = *

...

begin authenticators

cram:
driver = cram_md5
public_name = CRAM-MD5
server_secret = ${lookup mysql {select sPassword from VirtualAccount
where sAccount = ${quote_mysql:$1}'} {$value} fail}
server_set_id = $1

plain:
driver = plaintext
public_name = PLAIN
server_prompts = :
server_condition = ${if eq{${lookup mysql {select sUsername from
VirtualAccount where sAccount = '${quote_mysql:$2}' and
sPassword = '${quote_mysql:$3}'} {$value} fail}} {$2} {yes} {no}}

login:
driver = plaintext
public_name = LOGIN
server_prompts = Username:: : Password::
server_condition = ${if eq{${lookup mysql {select sUsername from
VirtualAccount where sAccount = '${quote_mysql:$1}' and
sPassword = '${quote_mysql:$2}'} {$value} fail}} {$1} {yes} {no}}

You probably don't need something as complicated as this, but the exim
documentation is very good.

Nick

--
Irish Linux Users' Group
http://www.linux.ie/mailman/listinfo/ilug/