bsd$ whereis -s sasl2
/usr/ports/security/cyrus-sasl2
bsd$ sudo make -C /usr/ports/security/cyrus-sasl2 -D BATCH install clean
Скачал исходники cvsup (bin, lib, usrbin, usrsbin). Но чтобы избежать ошибок при компиляции и для возможности сборки ядра лучше сразу обновить все
Добавил в /etc/make.conf
SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASL
SENDMAIL_LDFLAGS=-L/usr/local/lib
SENDMAIL_LDADD=-lsasl2
Собрал библиотеки libsmutil, libsm и sendmail с поддержкой SASLv2 из исходников
bsd$ sudo env SENDMAIL_SASL2=yes make install clean
Просмотр версии
bsd$ sendmail -d0.1 -bv
В файле /etc/mail/authinfo необходимо указать данные аутентификации на smtp-сервере
authinfo:smtp.list.ru "U:user@list.ru" "P:p@$$w0rd" "M:LOGIN"
И создать /etc/mail/authinfo.db
bsd$ sudo makemap hash /etc/mail/authinfo < /etc/mail/authinfo
smtp.mail.ru, smtp.gmail.com поддерживали только LOGIN
Далее в файл /etc/mail/freebsd.mc нужно добавить строки
define(`SMART_HOST', `smtp.list.ru')
define(`confAUTH_MECHANISMS', `LOGIN DIGEST-MD5 CRAM-MD5')
FEATURE(`authinfo', `hash /etc/mail/authinfo')
...
define(`CERT_DIR', `MAIL_SETTINGS_DIR`'certs')
define(`confCACERT_PATH', `CERT_DIR')
define(`confCACERT', `CERT_DIR/CAcert.pem')
define(`confSERVER_CERT', `CERT_DIR/bsd32cert.pem')
define(`confSERVER_KEY', `CERT_DIR/bsd32key.pem')
define(`confCLIENT_CERT', `CERT_DIR/bsd32cert.pem')
define(`confCLIENT_KEY', `CERT_DIR/bsd32key.pem')
И установить новую настройку /etc/mail/sendmail.cf (m4 при этом транслирует копию freebsd.mc в sendmail.cf)
bsd$ cd /etc/mail
bsd$ sudo make cf install
Запуск/перезапуск sendmail (любой из вариантов)
bsd$ cd /etc/mail ; sudo make restart
bsd$ sudo kill -HUP `sudo head -1 /var/run/sendmail.pid`
bsd$ sudo kill -HUP `sudo sed q /var/run/sendmail.pid`
Генерация сертификата для TLS
bsd$ sudo mkdir -pm 770 /etc/mail/certs
bsd$ cd /etc/mail/certs
bsd$ sudo openssl dsaparam 1024 -out dsa1024.pem
bsd$ sudo openssl req -x509 -nodes -days 365 -newkey dsa:dsa1024.pem \
-out /etc/mail/certs/bsd32cert.pem -keyout /etc/mail/certs/bsd32key.pem
bsd$ sudo rm ./dsa1024.pem
bsd$ sudo ln -s /etc/mail/certs/bsd32cert.pem /etc/mail/certs/CAcert.pem
bsd$ sudo chown root:wheel ./*
bsd$ sudo chmod 0600 ./*
bsd$ sudo chmod 0700 /etc/mail/certs
Отправка письма адресату
bsd$ echo 'Test letter' | mail -s 'Test letter' tosome@mail.com -f user@list.ru
Отправка письма с вложением из консоли
bsd$ uuencode ./file_to_attach 'caption_of_attach' | cat ./file_with_message - | mail -s 'subject' tosome@mail.com -f user@list.ru
http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/smtp-auth.html