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


FreeBSD 8.3-RELEASE: Mon Mar 12 16:23:52 UTC 2012