the part after the @ is split off to become the realm. You need to set up
saslauthd to use the realm and then add it back in when querying the database.
I've got my setup to use the auxprop.
My sasl2/smtpd.conf is:
sasl_pwcheck_method: auxprop
sasl_auxprop_plugin: mysql
sasl_auto_transition: no
sasl_mech_list: PLAIN LOGIN, CRAM-MD5
sql_user: ****
sql_passwd:****
sql_hostnames: localhost
sql_database: dbmail
sql_statement: select passwd from users
where userid = IF('%r'='dbmail','%u','[EMAIL PROTECTED]')
(no return in the sql statement, added for line wrap in the e-mail)
and in my main.cf for postfix is
smtpd_sasl_local_domain = dbmail
(and a few more lines that I you already have)
Hope it helps....
Dave
Quoting Alex Broens <[EMAIL PROTECTED]>:
> Good Day,
>
> DBmail 2.0 / Fedora Core2 .
> Imap & Pop are working fine
>
> trying got get to get SASL to work for SMTP auth.
> (its a test box)
>
> userid is [EMAIL PROTECTED]
>
> Postfix main.cf
> ---------------
> local_recipient_maps = mysql:/etc/postfix/sql-recipients.cf
> #
> broken_sasl_auth_clients = yes
> smtpd_sasl_auth_enable = yes
> smtpd_sasl_security_options = noanonymous
> smtpd_sasl_local_domain =
> smtpd_recipient_restrictions =
> permit_sasl_authenticated,reject_unauth_destination
> check_recipient_access = permit_sasl_authenticated,check_relay_domains
> ---------------
>
>
>
> /etc/postfix/sql-recipients.cf
> ----------------
>
> user = <username>
> password = <password>
> hosts = <dbhost>
> dbname = <dbname>
> table = dbmail_users
> select_field = userid
> where_field = userid
> -------------------------------------------
>
> /etc/pam.d/smtp
> ---
>
> auth required pam_mysql.so user=dbmail passwd=dbmail host=localhost
> db=dbmail table=dbmail_users usercolumn=userid passwdcolumn=passwd
> crypt=0
>
> --------------------------------------------
> /var/log/messages:
>
>
> Oct 18 09:05:01 smtp saslauthd[2258]: pam_sm_authenticate called.
> Oct 18 09:05:01 smtp saslauthd[2258]: dbuser changed.
> Oct 18 09:05:01 smtp saslauthd[2258]: dbpasswd changed.
> Oct 18 09:05:01 smtp saslauthd[2258]: host changed.
> Oct 18 09:05:01 smtp saslauthd[2258]: database changed.
> Oct 18 09:05:01 smtp saslauthd[2258]: table changed.
> Oct 18 09:05:01 smtp saslauthd[2258]: usercolumn changed.
> Oct 18 09:05:01 smtp saslauthd[2258]: passwdcolumn changed.
> Oct 18 09:05:01 smtp saslauthd[2258]: crypt changed.
> Oct 18 09:05:01 smtp saslauthd[2258]: db_connect called.
> Oct 18 09:05:01 smtp saslauthd[2258]: returning 0 .
> Oct 18 09:05:01 smtp saslauthd[2258]: db_checkpasswd called.
> Oct 18 09:05:01 smtp saslauthd[2258]: pam_mysql: where clause =
> Oct 18 09:05:01 smtp saslauthd[2258]: SELECT passwd FROM dbmail_users
> WHERE userid='jd'
> Oct 18 09:05:01 smtp saslauthd[2258]: pam_mysql: select returned more
> than one resultOct 18 09:05:01 smtp saslauthd[2258]: returning 7 after
> db_checkpasswd.
> Oct 18 09:05:01 smtp saslauthd[2258]: do_auth : auth failure:
> [user=jd] [service=smtp] [realm=] [mech=pam] [reason=PAM auth error]
>
> ----------------------------
>
> can someone give me a hint why [user=] is not seeing the @domain.tld?
> or is there a better way to implement smtp auth?
>
> happily driving me nuts!
>
> thanks
>
> Alex
>
>
>
> _______________________________________________
> Dbmail mailing list
> [email protected]
> https://mailman.fastxs.nl/mailman/listinfo/dbmail
>