Спойлер

вторник, 27 января 2015 г.

Sendmail — создание сервера отправки почты для небольшого офиса

 http://blogfreebsd.com/freebsd/sendmail-sozdanie-servera-otpravki-pochty-dlya-nebolshogo-ofisa.html

Уже довольно давно, в случае необходимости настройки почтового сервера,  мой выбор останавливается на exim. Но что делать, если нужно организовать сервер отправки почты для небольшой компании на 5-10 рабочих мест? Вот здесь и пригодится старый добрый Sendmail, который уже идет в базовой поставке FreeBSD.
Все конфигурационные файлы Sendmail размещены в директории /etc/mail/. По умолчанию Sendmail уже запущен и готов отправлять корреспонденцию, вот только «слушает» он только на loopback-интерфейсе. Удостовериться в этом очень просто:



# netstat -a | grep smtp
tcp4 0 0 localhost.smtp *.* LISTEN
Чтобы «запустить» Sendmail и на остальных интерфейсах, нужно сделать несколько манипуляций. Предположим, адресация локальной сети 192.168.168.0/24. Отредактируем файл /etc/mail/access до состояния (примеры записей можно «подсмотреть» в файле /etc/mail/access.sample):
# cat /etc/mail/access
Connect:192.168.168 RELAY
Connect:[127.0.0.1] OK
Чтобы изменения вступили в силу, необходимо выполнить команду «make» в директории /etc/mail:
# cd /etc/mail/ && makecp freebsd.mc mail.blogfreebsd.com
/usr/bin/m4 -D_CF_DIR_=/usr/share/sendmail/cf/ /usr/share/sendmail/cf/m4/cf.m4 mail.blogfreebsd.com.mc > mail.blogfreebsd.com.cf
cp freebsd.submit.mc mail.blogfreebsd.com.submit.mc
/usr/bin/m4 -D_CF_DIR_=/usr/share/sendmail/cf/ /usr/share/sendmail/cf/m4/cf.m4 mail.blogfreebsd.com.submit.mc >mail.blogfreebsd.com.submit.cf
/usr/sbin/makemap hash access.db < access  chmod 0640 access.db
Вторым шагом является добавление строки sendmail_enable=»YES» в rc.conf:
# echo ‘# MailServer’ >> /etc/rc.conf# echo ‘sendmail_enable=»YES»‘ >> /etc/rc.conf
Перезапустим Sendmail и проверим результат:
# sh /etc/rc.d/sendmail restart
Stopping sendmail.
Starting sendmail.
# netstat -a | grep smtp
tcp4 0 0 *.smtp *.* LISTEN
Как видим, Sendmail теперь ожидает подключений на всех доступных интерфейсах. Поскольку была поставлена задача настроить сервер на только на отправку, на этом статью заканчиваю. Возможно немножко позже появится вариант настройки с поддержкой возможности приема входящей кореспонденции.

Использование:
Что бы  отправить письмо из консоли нужно подать на stdin sendmail-а поток данных например так:
Если хотите наглядно видеть что происходит с письмом то есть ключик – v


Тему сообщения можно указать так


Сообщение с темой и отправителем



1

(echo "Subject:Hi"; echo "Body contents";) | sendmail -F "test"  my@mail

Комментариев нет:

Отправить комментарий