перечислены все псевдонимы вашего почтового сервера. Предположим, что имя вашего сервера mail.dhsilabs.ru. Если отправитель отправит почту по адресу den@mail.dhsilabs.ru, письмо будет без проблем доставлено пользователю den. А если кто-то отправит письмо по адресу den@dhsilabs.ru, то его доставка вызовет определенные трудности, так как не ясно, какому узлу домена dhsilabs адресовано сообщение. Для решения этой проблемы в файл sendmail.cw нужно поместить строку:
dhsilabs.ru
Теперь, когда будет приходить почта формата user@dhsilabs.ru,
она будет доставлена почтовому серверу mail.dhsilabs.ru.
Напомню, что перед изменением файла
sendmail.cf
желательно остановить программу sendmail. Это делается с помощью команды:
# /etc/init.d/sendmail stop
Конечно, удобнее сначала отредактировать файл
sendmail.cf
с помощью m4, а потом выполнить команду
/etc/init.d/sendmail restart
для перезапуска программы sendmail.
14.2. Аутентификация в sendmail
14.2.1. Установка и настройка SASL
Программа Sendmail 8.10/8.11 поддерживает SMTP AUTH согласно стандарту RFC 2554. Аутентификация базируется на SASL (Simple Authentication and Security Layer). Она позволит вам несколько повысить безопасность вашей сети, но создаст определенные неудобства для пользователей, потому что не все почтовые клиенты (пользовательские агенты) ее поддерживают.
Первым делом убедитесь в том, что ваша сборка sendmail поддерживает библиотеку SASL:
# sendmail -d0.1 -bv root | grep SASL
При отсутствии поддержки SASL от вас потребуется перекомпилировать sendmail. Распаковав исходные коды в каталог sendmail-x.xx.xx, создайте файл
sendmail-x.xx.x/devtools/Site/site.config.m4
, в котором необходимо прописать следующие строки:
APPENDDEF(`confENVDEF', `-DSASL')
APPENDDEF(`conf_sendmail_LIBS', `-lsasl')
APPENDDEF(`confLIBDIRS', `-L/usr/lib/')
APPENDDEF(`confINCDIRS', `-I/usr/include/')
После этого запустите сценарий Build:
# ./Build
# ./Build install
Если вы все сделали правильно, ваш sendmail теперь должен поддерживать SMTP AUTH. Теперь вам потребуются библиотеки Cyrus SASL, исходные коды которых вы можете найти по адресу
ftp://ftp.andrew.emu.edu/pub/cyrus-mail
.
Соберите библиотеку Cyrus SASL, выполнив следующую последовательность действий:
# tar -xzf cyrus-sasl-1.5.24.tar.gz
# cd cyrus-sasl-1.5.24/
# ./configure --prefix=/usr
# make
# make install
После установки библиотеки отредактируйте файл
/usr/lib/sasl/Sendmail.conf
. Если он не существует, создайте его. В конец этого файла необходимо добавить строку:
pwcheck_method: sasldb
Это укажет sendmail, что аутентификацию нужно проводить с использованием SASL.
Теперь займитесь созданием базы данных всех пользователей, которые могут отправлять почту. Для этого используются две программы: saslpasswd и sasldblistusers. Они должны находиться в каталоге
/sbin
. Запускать их нужно от имени суперпользователя.
# saslpasswd -a sendmail newuser
password:<пароль для newuser>
Эту процедуру нужно провести для всех пользователей, которым разрешено отправление почты. Утилита sasldblistusers предназначена для просмотра всех записей в базе данных. После ее запуска вы должны увидеть что-то наподобие этого:
Отображенная информация означает, что пользователь newuser может аутентифицироваться тремя методами: CRAM-MD5, DIGEST-MD5, PLAIN. Рекомендую использовать метод CRAM-MD5, но в крайнем случае подойдет и PLAIN.
FEATURE(`no_default_msa')dnl turn off default entry for MSA
DAEMON_OPTIONS(`Port =25, Name=MSA, M=E')dnl
Метод PLAIN, как самый ненадежный, можно было бы убрать из списка авторизации, но я рекомендую вам его оставить для совместимости с некоторыми почтовыми клиентами.
Запустите интерпретатор m4:
# m4 sendmail.mc > sendmail.cf
Скопируйте новый файл
sendmail.cf
на место старого, перезапустите sendmail и проверьте его работоспособность. Для этого запустите клиент telnet и присоединитесь к порту 25 вашего компьютера:
250-local.sendmail.ORG Hello localhost [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES 250-DSN
250-AUTH DIGEST-MD5 CRAM-MD5 PLAIN
250 HELP
quit
Теперь желательно добавить описания поддерживаемых вашим сервером методов аутентификации. Это делается для того, чтобы в заголовке письма появилось такое сообщение: