-
Установите security/cyrus-sasl из портов. Вы можете найти этот порт в security/cyrus-sasl. В пакете security/cyrus-sasl есть множество параметров компиляции, и для
используемого здесь метода убедитесь, что выбран параметр pwcheck.
-
После установки security/cyrus-sasl, отредактируйте /usr/local/lib/sasl/Sendmail.conf (или создайте его если он не
существует) и добавьте следующую строку:
pwcheck_method: passwd
Этот метод включит аутентификацию sendmail через базу
данных passwd FreeBSD. Это позволяет избежать проблем,
связанных с созданием нового набора имен пользователей и паролей для каждого
пользователя, которому необходима SMTP аутентификация,
пароль для входа в систему и для отправки почты будет одним и тем же.
-
Теперь отредактируйте /etc/make.conf и добавьте следующие
строки:
SENDMAIL_CFLAGS=-I/usr/local/include/sasl1 -DSASL
SENDMAIL_LDFLAGS=-L/usr/local/lib
SENDMAIL_LDADD=-lsasl
Эти параметры необходимы sendmail для подключения cyrus-sasl во время компиляции. Убедитесь, что cyrus-sasl был установлен до перекомпиляции sendmail.
-
Перекомпилируйте sendmail, выполнив следующие команды:
# cd /usr/src/usr.sbin/sendmail
# make cleandir
# make obj
# make
# make install
Компиляция sendmail должна пройти без проблем, если /usr/src не был сильно изменен и доступны необходимые разделяемые
библиотеки.
-
После компилирования и переустановки sendmail,
отредактируйте файл /etc/mail/freebsd.mc (или тот файл, который
используется в качестве .mc; многие администраторы используют в
качестве имени этого файла вывод hostname(1) для
обеспечения уникальности). Добавьте к нему следующие строки:
dnl set SASL options
TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
define(`confDEF_AUTH_INFO', `/etc/mail/auth-info')dnl
Эти параметры настраивают различные методы, доступные sendmail для аутентификации пользователей. Если вы хотите
использовать вместо pwcheck другой метод, обратитесь к
прилагаемой документации.
-
Наконец, запустите make(1) в каталоге /etc/mail. Из файла .mc будет создан файл
.cf, называющийся freebsd.cf (или с
тем именем, которое было использовано для файла .mc). Затем
используйте команду make install restart, которая скопирует файл
в sendmail.cf, и правильно перезапустит sendmail. Дополнительная информация об этом процессе находится в
/etc/mail/Makefile.