Моя конфигурация sendmail выглядит так:
/usr/lib/sasl2/Sendmail.conf
pwcheck_method:saslauthd
Мы запускаем "saslauthd"
root 32102 1 0 81 0 - 1128 fcntl_ 11:37 ? 00:00:00 /usr/sbin/saslauthd -m /var/run/saslauthd -a pam
Когда я saslauth с именем учетной записи "cccc", все работает нормально. Но когда я использую saslauth с именем учетной записи «cccc@domain.com», это не удается.
/var/log/messages
saslauthd[32103]: do_auth : auth failure: [user=cccc] [service=smtp] [realm=domain.com] [mech=pam] [reason=PAM auth error]
В чем проблема?
Ваш saslauthd использует pam как бэкэнд для аутентификации.
В основном в системе проверка smtp / imap - это просто поиск вашей системной учетной записи.
И нет системных учетных записей, таких как any@domain.com. Итак, pam не может найти такого пользователя и поэтому отклоняет аутентификацию.
Загляните в /etc/pam.d/smtp
Если вы действительно хотите использовать pam, что я предлагаю вам, вы можете использовать таблицу mysql для аутентификации или других необычных вещей. Взгляните на pam-mysql, например.
Либо используйте подходящую настройку для pam, либо используйте sasldb в качестве бэкэнда для sasalauthd
saslauthd -a sasldb
Затем вы можете использовать инструмент пользовательского пространства saslpasswd2 для настройки своих учетных записей.