Bfsoft.ru

Программы, сервисы, полезные советы о компьютере и интернете
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как установить и настроить Sendmail на Ubuntu

Как установить и настроить Sendmail на Ubuntu

Я не администратор, поэтому относитесь к этой заметке с осторожностью.
Рассматривается такя ситуация: надо заставить sendmail сервера отправлять почту, но ничего в ответ не принимать. Строго для оповещений с сайтов. У меня вдс-ка с предустановленным exim4 на который, насколько я понимаю, «ссылается» sendmail. Т.е. фактически работает exim4.

Сначала настраиваем хост (my-host-name это имя нашего хоста с которого все будет ездить) В файле должны быть строки вида Далее меняем имя хоста в файле Файл должен выглядеть вот так (полностью, т.е. только имя хоста и все) Теперь перегружаем службу которая грубо говоря обновляет имя хоста глобально REM ещё такой вариант есть, для Debian 9 (stretch) Теперь выполняем команды Если все правильно сделано, то они обе должны вернуть значение my-host-name (т.е. имя вашего хоста)

  • internet site..
  • вводим название вашего хоста (my-host-name)
  • ip для smtp устанавливаем только 127.0.0.1 т.к. нам не нужны внешние подключения по smtp
  • другие допустимые назначения оставляем по умолчанию
  • домены для разрешенного релея — оставляем пустым
  • машины для релея — оставляем пустым
  • кол-во днс запросов на ваше усмотрение, я не ограничивал
  • метод доставки я оставил тот же который был, т.е. /var/mail
  • разделять не разделять файлы конфигурации — на ваше усмотрение, аргументы там описаны, я разделять не стал

Дальше надо убедиться что на нашем сервере недоступен smtp, для этого нам надо сходить с локальной машины постучаться в 25 порт сервера и получить отлуп. Делается это например так: Если все так, то все тип-топ. Порт закрыт.

Ещё маленькая фишка. Бывает так что по каким-то причинам, сервис рулящий веб-приложением надо перезапускать регулярно. В моем случае это node.js и делаю я это по крону раз в N времени. Так вот если перезапустить процесс кроном, то sendmail перестает работать, потому как приложение не знает где он, в path пути до него просто нет и соот-но он просто не находится. Точно так же можно передавать любые другие настройки переменных окружения. Как это делать смотрим ниже.

Сначала посмотрим где sendmail Ок, видим путь. Если вдруг не видим то идем смотреть тоже самое но под sudo. Теперь идем в кронтаб и добавляем переменные окружения там. Откроется редактирование заданий для текущего пользователя. То есть все задания будут выполнены с правами текущего пользователя и сервис запустится с правами этого пользователя, если он запускается конечно согласно вашему плану 🙂

Ну вот примерно так. Прошу не воспринимать эту заметку как полное руководство к действию, вполне возможно что для вашего случая все будет значительно отличаться. Но возможно это как-то поможет или хотя бы наведет на мысли в нужном направлении 🙂 Успехов!

Пользовался вот этим источником. Рекомендую на него взглянуть, надеюсь он ещё дышит.

HOWTO setup ubuntu 18.04 sendmail+DKIM+SPF+DMARC или о том как мне удалось пробиться в бастион Gmail

На моем сервере крутится 2 отдельных домена. До истории с блокировками Роскомнадзора мы собирали трафик около 2000 посещений в сутки, а почтовый сервер отправлял в сутки около 200 писем на все популярные почтовые сервисы, в т.ч. Гугл и Яндекс. Все было здорово. Но как говорится в известном ролике: «Все было так хорошо, пока не пришел Навальный Роскомнадзор!

Теперь, когда нам удалось найти хостера, чьи IP адреса не попадают под блокировки государственной цензуры появилась другая проблема. Корпорация добра Гугл перестала дальше порога пускать нашего почтальона.

MX сервер google выбрасывает мою почту с примерно следующим сообщением: „Твое сообщение похоже на нежелательное, давай до свидания. “

Читайте так же:
ZenChoice что это за программа на Android и как ею пользоваться

Этой командой я отправлял тестовое сообщение:

Писать о своих танцах с бубном в попытках пробиться через спам-фильтры я не буду. Скажу только, что провозился я всю ночь, но добиться успеха смог только на следующий день. Именно поэтому я и решил написать сей мануал.

ИНСТРУКЦИЯ ПО НАСТРОЙКЕ SPF+DKIM НА UBUNTU 18.04

Крутизна данной инструкции в том, что она работает, в отличие от множества других. Я гарантирую, что как минимум 2 домена на 1 сервере ты сможешь настроить без особого труда.

1. Устанавливаем нужные пакеты

2. Настраиваем opendkim

Конфиг лежит тут: /etc/opendkim.conf

AutoRestart Yes
UMask 002
Syslog yes
AutoRestartRate 10/1h
Canonicalization relaxed/simple
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts

InternalHosts refile:/etc/opendkim/TrustedHosts
KeyTable refile:/etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable

LogWhy Yes
Mode sv
PidFile /var/run/opendkim/opendkim.pid
SignatureAlgorithm rsa-sha256
Socket inet:8891@localhost
SyslogSuccess Yes
TemporaryDirectory /var/tmp
UserID opendkim:opendkim

3. Настраиваем ключи и правила подписывания

Я опишу процедуру по созданию собственных ключей для тех, кто хочет полной автономности. Лично у меня используется яндексовый сервис «Почта для домена» pdd.yandex.ru, поэтому у меня ключи сгенерированные Яндексом.

Далее подключаем наш созданный или загруженный у Яндекса секретный ключ DKIM.

Нас интересуют вот эти три строчки из конфига opendkim:

В первом файле /etc/opendkim/TrustedHosts хранятся хосты, которые будут иметь доступ к серверу opendkim для подписывания писем.

Во втором файле /etc/opendkim/KeyTable хранится таблица секретных ключей и связанных с ними записей DKIM, которые представляют из себя следующее: [selector]._domainkey.[domain_name]

В третьем файле /etc/opendkim/SigningTable лежит таблица правил подписывания писем. Тут указано чьи письма и каким именно ключом подписывать.

4. Настройка sendmail

Настройка sendmail максимально проста. Нам всего лишь нужно добавить в конец файла прототипа конфига /etc/mail/sendmail.mc следующие строчки:

Чтобы почта по умолчанию отправлялась с правильного домена надо сделать еще одно изменение в файле /etc/mail/sendmail.mc

Ищем строку, похожую на эту: MASQUERADE_AS(`st-goods.ru’)dnl Заменяем на нужный домен. Именно этот домен будет использован в качестве обратного адреса по умолчанию. Обратите внимание, что кавычки там разные, строго говоря, первый знак ` называется гравис. Так зачем-то заведено в конфиге sendmail.

Теперь добавим записи в файл /etc/hosts Это нужно для того, чтобы sendmail пропускал письма через фильтр. Опытным путем установлено, что если не добавлять записей, все логи остаются девственно чистыми, не показывая ни одной ошибки, однако письма не подписываются.

Теперь надо пересобрать sendmail с новыми настройками.

Теперь наш сервер sendmail умеет пропускать исходящие письма через сервер opendkim, который добавляет цифровую подпись и шифрует заголовки отправляемых писем. Осталось опубликовать для принимающей стороны открытый ключ, чтобы можно было расшифровать заголовки и удостоверится, что заголовки не изменялись.

5. Настройки DKIM TXT записи на DNS сервере

Ключ надо подвесить на DNS сервере в строке типа TXT следующего содержания:
хост: mail._domainkey
значение: v=DKIM1; t=s; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2wtGTw/5KPjtlIEh282JY7ovxZ/8eqveFn9ivhzpYJldl3fBEOKw

Пояснения:
p= это наш открытый ключ
v= определяет номер версии DKIM
t= устанавливает флаги, по умолчанию флаги не устанавливаются. Существует 2 флага ‘y’ и ‘s’.
y говорит о том, что DKIM работает в тестовом режиме.
s означает режим, когда правая часть почтового адреса после @ должна полностью совпадать с доменом указанным в параметре d= DKIM подписи письма.

Хост надо указать в следующем виде: [selector]._domainkey
У нас селектор mail, поэтому хост будет таким: mail._domainkey

Открытый ключ надо вытащить из файла /etc/opendkim/keys/st-goods.ru/mail.txt

Ключ идет от p= до последней кавычки. Сами кавычки с пробелами надо удалить.

6. Настройка SPF

SPF (Sender Policy Frameword) это еще 1 технология защиты от спама, рассказывать про нее не буду. Только 2 слова для понимания сути этой технологии. В DNS записи домена аналогично открытому ключу DKIM записываются адреса серверов, которые имеют право отправлять почту с этого домена. Нам нужно прописать в этой записи ip адреса своего сервера. В моем случае в список также добавлен сервер Яндекса.

Читайте так же:
Что такое функция TRIM, как её включить и выключить

Вот пример моей записи:
хост: @
значение: v=spf1 a mx include:_spf.yandex.net ip4:173.249.51.13 ip6:2a02:c207:2018:3546::1

Синтаксис простой. Сначала указывается версия spf, а потом через пробел с плюсом или без него указываются адреса серверов, которые имеют право слать почту с этого домена. У меня указаны записи a и mx, что означает, что серверы из DNS записей A и MX тоже входят в список разрешенных. Через include: указан адрес сервера Яндекса, а дальше ipv4 и ipv6 адреса моего сервера.

all означает softfail «мягкий отказ». Т.е. все адреса, которые не перечислены в разрешенных все таки могут пройти по усмотрению принимающего сервера. -all означал бы жесткий отказ.

7. Настройка DMARC

Последний гвоздь для проникновения в бастион gmail — DMARC. DMARC устанавливает что нужно делать с письмами, которые не проходят проверку SPF или DKIM.

Все делаем точно также через DNS запись типа TXT.
хост: _dmarc
значение: v=DMARC1; p=none

Здесь мы устанавливаем, что если письма не прошли SPF или DKIM ничего делать не надо. Можно поставить p=reject. Тогда такие письма будут забракованы.

Проверка

Отправляем себе письмо. echo «Subject: Hello baby!» | sendmail -v legale.legale@gmail.com

Смотрим последние записи лога почты. tail -f /var/log/mail.log | grep dkim
Должна появится строка похожая на эту:

Если строка есть, значит сервер sendmail и opendkim сработались и подписали твое письмо. Если такой строки нет, смотри раздел «Возможные проблемы».

Теперь смотрим, что получилось в почтовом ящике. Открываем письмо и нажимаем в правом верхнем углу письма кнопку со стрелкой вниз. В выпадающем меню выбираем пункт «Show original».

Вот что получилось у меня:

Возможные проблемы

Я искренне надеюсь, что нужды читать этот раздел не будет, но техника — вещь сложная… Иногда не понятно кто на кого работает.

Сначала проверяем все ли ты сделал в точной последовательность указанной в инструкции.
Сначала проверяем файл /etc/hosts на предмет корректности изменений в нем. У меня больше всего проблем было именно там. Дальше проверим системный лог на предмет ошибок dkim. Пока я ковырялся мне довелось столкнуться с ситуацией невозможности чтения opendkim секретного ключа, хотя я назначил владельцем файла пользователя opendkim. Дальше следует внимательно изучить лог выполнения команды sendmailconfig У меня был случай, что я использовал обычную одиночную кавычку вместо положенного грависа, а sendmailconfig ругался на это. Если ничего не помогло напиши мне и keep trying.

Установка Sendmail + Dovecot + DrWeb на Ubuntu

ubuntu sendmail dovecot

Я буду использовать белый ip 77.222.61.85 вы вместо него прописывайте свой.

Для начала ставим дополнительные компоненты для удобства работы это файловый менеджер MC и WebMin

теперь ставим графический WEB интерфейс

В самом конце добавляем строку:

Устанавливаем GPG ключ:

Устанавливаем Webmin для этого вводим команду:

Запустить Webmin можно через браузер для этого введите следующий адресу в строку url:

Устанавливаем MTA агент передачи почты Sendmail (MTA — mail transfer agent)

он отвечает за передачу почты по SMTP.

После установки редактируем следующие файлы файлы

вписываем или меняем строку, она должна принять вид типа

дописываем строки с нужными нам ip либо доменами от куда разрешена отправка почты

Управление sendmail

Просмотр очереди сообщений:

Просмотр очереди сообщений по определенному адресу:

Очистка очереди сообщений sendmail:

Очистка очереди сообщений sendmail по адресату:

Проверка сендмайла

Если зашёл все хорошо и продолжаем дальше.
Выход из телнета написать QUIT

Перезагрузка конфига sendmail

Настройка и установка Dovecot

IMAPS и POP3S более безопасные чем обычные IMAP и POP3, поскольку используют SSL
шифрование для соединения. Как только вы выберете протокол,
исправьте следующую строку в файле /etc/dovecot/dovecot.conf

Читайте так же:
Как исправить ошибку «Unexpected Store Exception» в Windows

Далее выберите формат почтового ящика, который вы собираетесь использовать.
Dovecot поддерживает форматы maildir и mbox.

Выбрав тип почтового ящика, измените в файле /etc/dovecot/conf.d/10-mail.conf

в моем случае я использовал mbox.
в моем случае отправка почты возможна только с локальной сети поэтому я использую передачу данных авторизации в открытом виде.
Редактируем dovecot.conf

Этим параметром мы явно указываем что можно передавать данные для авторизации на сервере в открытом виде.

Проверка Dovecot

Если зашёл все хорошо и продолжаем дальше.
Выход из телнета написать QUIT

Перезагрузка конфига dovecot

Добавление записей в DNS

Теперь чтобы это все виделось с интернета необходимо внести 2 записи в dns примерно такого вида.
/etc/bind/zone/adatum.ru.hosts

Перенос и создание новых пользователей

в моем случае нужно было перенести старых пользователей.
для этого создаем на новом сервере пользователей с такими же логинами как и на старом сервере командой.

Теперь нужно перенести ХЭШ паролей с старого сервера на новый, хэши хранятся в файле /etc/shadow

копируем записи нужных пользователей из старого файла в новый. Это актуально если не известны все пароли пользователей на сервере.

Отступление (Пароли и пользователи)

Все данные о пользователях хранятся в файлах ( /etc/passwd, /etc/shadow или /etc/master.passwd)

Cгенери́ровать хэш из командной строки можно так:

Шифрование паролей в Ubuntu .
* Без признаков – DES (практически давно не используется, неадекватно слаб по сегодняшним меркам);
* _ – Модификация имплементации алгоритма DES, сделанная BSDi;
* $1$ – MD5 (наиболее популярный, но имеет математические уязвимости);
* $2$, $2a$ – Blowfish (используется преимущественно в OpenBSD, FreeBSD);
* $5$ – SHA-256;
* $6$ – SHA-512

Установка Drweb анти спам+антивирус

Репозиторий для Debian защищен с помощью механизма цифровой подписи. Для корректной работы нужно импортировать лицензионный ключ командой

Внимание! Для установки пакетов и импорта ключа необходимы права администратора (root)

Чтобы подключить репозиторий, добавьте следующую строку в файл /etc/apt/sources.list:

Обновите репозиторий командой

Для установки Dr.Web для почтовых серверов UNIX выполните команду:

Ключк DrWeb-а помещаем в папку /opt/drweb он должен иметь название drweb32.key.
Основные конфиги:
-/etc/drweb/plugin_vaderetro.conf (основной файл настроек антиспама)
-/etc/drweb/drweb32.ini
-/etc/drweb/maild_sendmail.conf
-/etc/drweb/plugin_drweb.conf

Настройка белого листа (доменов от куда почта не проверяется)
редактируем файл
/etc/drweb/plugin_vaderetro.conf
редактируем строку

файл w.txt следующего содержания

Работа с пользователями через WebMin

Логин и пароль Webmin

Заходим браузером на https://77.222.61.85:10000 вводим наш логин и пароль(который установили при установки Ubuntu).

Редактирование пользоватилей

открываем вкладку System -> Users and Groups.

33

Нажимаем Create a new user.

44

Заполняем необходимые поля и нажимаем кнопку CREATE.

55

Для редактирования пользователя возвращаемся в System -> Users and Groups.

66

В открывшемся окне можно сменить пароль, прочитать почту либо удалить пользователя.

Для настройки почтовой системы
‘cd /opt/drweb/maild/scripts/ && ./configure_mta.sh’

Для настройки Dr.Web MailD
‘cd /opt/drweb/maild/scripts/ && ./configure.pl’

Правила перепечатки

Понравилась статья?
Лучшей наградой для меня будет ваш комментарий !

Как установить Sendmail на Ubuntu 18.04 и 16.04 LTS

Как установить Sendmail на Ubuntu 18.04 и 16.04 LTS

Sendmail — это средство маршрутизации электронной почты общего назначения, используемое для передачи электронной почты через Интернет.

Он включает SMTP (Simple Mail Transfer Protocol) для пересылки почты и доставки электронной почты.

Большинство системных администраторов предпочитают использовать сервер Sendmail в качестве MTA.

Вы также можете использовать сервер Sendmail для отправки электронной почты через внешние SMTP-серверы, такие как Gmail, Amazon SES, MailChimp и т. д.

1. Удалите Постфикс

Postfix — это служба SMTP по умолчанию, предварительно установленная в операционных системах Ubuntu.

И если вы готовы использовать сервер Sendmail в вашей системе, прежде всего, удалите существующую установку postfix в Ubuntu.

sudo systemctl stop postfix sudo apt remove postfix && apt purge postfix

2. Установите Sendmail

Если вы не установили Sendmail, используя следующую команду, чтобы установить Sendmail с другими необходимыми пакетами, используя менеджер пакетов yum.

Читайте так же:
Как 32-битную систему сделать 64-битной

sudo apt install sendmail

Sendmail хранит все свои файлы конфигурации в каталоге /etc/mail.

Ниже вы найдете подробную информацию о файлах конфигурации Sendmail.

  • access — разрешить / запретить другим системам использовать Sendmail для исходящих писем.
  • domaintable — используется для сопоставления доменного имени для Sendmail.
  • local-host-names — используется для определения псевдонимов для хоста.
  • mailertable — Определяет инструкции, которые переопределяют маршрутизацию для определенных доменов.
  • virtusertable — определяет специфичную для домена форму псевдонимов, позволяющую разместить несколько виртуальных доменов на одном компьютере.

2.1 Закомментируйте строку ниже в /etc/mail/sendmail.mc, чтобы разрешить получение электронной почты из любой точки мира.

Чтобы закомментировать строку в sendmail.mc, просто поставьте dnl в начале строки.

dnl DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp, Addr=127.0.0.1′)dnl dnl DAEMON_OPTIONS(`Family=inet, Name=MSP-v4, Port=submission, M=Ea, Addr=127.0.0.1′)dnl

2.2 Добавьте эту строку также в sendmail.mc над опцией «MAILER»

2.3 Добавьте полное имя хоста вашего ПК в этот файл.

4. Перекомпилируйте конфигурацию Sendmail

m4 — макропроцессор для компиляции файлов конфигурации Sendmail. m4 основывается на потоке, то есть не разбирается в строках.

sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

Перезапустите сервис Sendmail

sudo /etc/init.d/sendmail restart

4. Настройка доменной маршрутизации электронной почты

Как вы прочитали выше, этот виртуальный файл используется для создания псевдонимов, позволяя размещать несколько виртуальных доменов на одном компьютере.

1. Все электронные письма, адресованные домену @example.com, доставляются по адресу support@mydomain.com

2. Все электронные письма, адресованные support@mydomain.com, будут перенаправлены на локального пользователя jack

3. Все электронные письма, адресованные @mydomain.com, будут пересылаться на домен @otherdomain.com с соответствующими именами пользователей.

4. Все письма, адресованные @otherdomain.com, будут отклонены моим почтовым сервером с подтверждением отправителя с сообщением

@otherdomain.com error:nouser User unknown

После внесения всех изменений в virtusertable выполните следующую команду, чтобы создать обновленный файл virtusertable.db, содержащий новую конфигурацию.

sudo makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable

Теперь перезапустите сервис Sendmail

sudo /etc/init.d/sendmail restart

Настройка Sendmail как внешнего почтового шлюза

Задача — сделать почтовый шлюз на базе sendmail, для отправки/приема почты в интернет и взаимодействие с внутренним почтовиком в локальной сети предприятия.

Что дано: есть сервер под управлением *nix (у меня стоит freebsd 8.1), с двумя сетевыми картами, на одной карте настроен внешний IP интернета, вторая сетевая смотрит во внутреннюю сеть предприятия. Во внутренней сети стоит еще один сервер под управлением microsoft exchange 2010, куда и должны доставляться в конечном итоге все письма.

Также на стороне провайдера уже прописаны прямые и обратные зоны для нашего домена и MX запись нашего почтового сервера.

По умолчанию каталогом с конфигами в sendmail является /etc/mail, а сами файлы конфигов следующие:

  • access — файл базы данных доступа sendmail
  • aliases — синонимы почтовых ящиков
  • local-host-names или sendmail.cw — список хостов, для которых sendmail принимает почту
  • mailer.conf — настройки почтовой программы
  • mailertable — куда перенаправлять почту (если требуется)
  • sendmail.mc — основной файл конфигурации sendmail, для обработки препроцессором m4, для получения файла sendmail.cf
  • sendmail.cf — основной файл конфигурации sendmail
  • relay-domains — перечень доменов который поддерживает наш почтовый шлюз
  • virtusertable — таблицы виртуальных пользователей и доменов

Файл access

В данный файл заносим ip нашего внутреннего почтового сервера microsoft exchange, разрешая ему соединяться с sendmail при отправке писем в интернет.

Пересобираем файл access.db при любом изменении файла access. Файл access.db является бинарной базой данных и именно с ним работает sendmail.

#makemap hash /etc/mail/access < /etc/mail/access

Если у вас нет внутреннего почтовика, то в файл access заносим localhost

Файл aliases

Достаточно часто в unix данный файл находится по пути /etc/aliases, но тогда в /etc/mail/aliases должен находится его симлинк.

Читайте так же:
Как открыть FTP в проводнике Windows

В конец файла дописываем строку

Вместо user заносим свой логин. Теперь вся системная почта, приходящая на пользователя root будет перенаправляться вам.

Пересобираем файл aliases.db командой

Файл local-host-names

Самый простой файл в конфигурации — заносим имя нашего почтового сервера и имена доменов для которых будем принимать почту. Каждый домен на новой строке

Будьте внимательны, последняя строка этого фала должна быть пустой, т.к. она не читается конфигурацией sendmail (и как совет, примите к сведению, что последняя строка в конфигурационных файлах unix очень часто должна заканчиваться пустой строкой)

Для этого файла бинарная база данных не требуется

Файл mailer.conf

Если у вас дистрибутив linux, то данный файл вы не обнаружите в каталоге /etc/mail и по сути он вам не нужен. В системе FreeBSD в данном файле заносятся пути до программ, отвечающих за определенные действия по обработке почты. В нашем случае за все действия будет отвечать команда sendmail. Если вы захотите поменять программы отвечающие за те или иные действия по обработке почты, то достаточно будет поменять пути до этих программ в mailer.conf.

Я файл не правил, оставил как было

sendmail /usr/libexec/sendmail/sendmail send-mail /usr/libexec/sendmail/sendmail mailq /usr/libexec/sendmail/sendmail newaliases /usr/libexec/sendmail/sendmail host /usr/libexec/sendmail/sendmail purge /usr/libexec/sendmail/sendmail

Файл mailertable

Так как нам надо осуществлять маршрутизацию почты извне на локальный почтовый сервер, создаем таблицу маршрутизации. Здесь 192.168.0.3 почтовый сервер внутри локальной сети.

Пересобираем файл mailertable.db

#makemap hash /etc/mail/mailertable < /etc/mail/mailertable

Файл sendmail.mc

Вот и добрались до главного файла с помощью которого и формируется конфигурационный файл sendmail.cf с помощью препроцессора m4. Препроцессор создает более понятный для машинной обработке файл, чтобы увеличить скорость работы почтовой программы.

Файл не обязательно может называться sendmail.mc, можно создавать свои названия файлов конфигураций, но расширение файла должно быть .mc.

Файл конфигурации у меня получился такой.

divert(-1) divert(0) include(`/usr//sendmail/cf/m4/cf.m4′) OSTYPE(freebsd) DOMAIN(generic) FEATURE(`nouucp’,`reject’) FEATURE(`always_add_domain’) FEATURE(`allmasquerade’) MASQUERADE_AS(`domen.ru’) FEATURE(`masquerade_envelope’) Dmdomen.ru FEATURE(access_db, `hash -o -T /etc/mail/access’) FEATURE(blacklist_recipients) FEATURE(local_lmtp) FEATURE(mailertable, `hash -o /etc/mail/mailertable’) FEATURE(virtusertable, `hash -o /etc/mail/virtusertable’) FEATURE(use_cw_file) define(`confCW_FILE’, `-o /etc/mail/local-host-names’) define(`confTO_IDENT’, `0′) define(`confBIND_OPTS’, `WorkAroundBrokenAAAA’) define(`confPRIVACY_FLAGS’, `needmailhelo,authwarnings,noexpn,novrfy,noverb’) FEATURE(`no_default_msa’) DAEMON_OPTIONS(`Port=smtp, Name=MTA’) DAEMON_OPTIONS(`Port=987, Name=MSA, M=E’) MAILER(local)dnl MAILER(smtp)dnl

Кому интересно замысловатые названия команд и макросов, можно прочитать мои комментарии показать

После составления файла .mc преобразовываем его в sendmail.cf командой

#m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

Важно! Такой командой перетирается старый (возможно рабочий) файл конфигурации. Будьте внимательны и на всякий случай всегда сохраняйте рабочие версии всех файлов конфигурации, которые правите.

Файл relay-domains

Прописываем взаимодействие только с нашим доменом или доменами (по каждому на одной строке). Если файл отсутствует, то создаем его сами.

Файл бинарной базы данных не требуется

Файл virtusertable

У меня он пока пустой. Если у вас ситуация, что имя внутреннего домена на локальном почтовике отличается от внешнего, то сюда следует прописать соответствие всех почтовых ящиков этих доменов.

Также сюда можно прописывать соответствие алиасов ящиков пользователей, синтаксис файла смотрите в документации и не забудьте пересобрать virtusertable.db

На этом конфигурации закончена. Перезапускаем сервис sendmail и первым делом идем смотреть логи в /var/log/maillog. Если все хорошо, то там должна быть запись

Nov 19 23:35:03 m1k sm-mta[2954]: restarting /usr/sbin/sendmail due to al Nov 19 23:35:03 m1k sm-msp-queue[2957]: restarting /usr/sbin/sendmail due to al Nov 19 23:35:04 m1k sm-msp-queue[3772]: starting daemon (8.14.4): queueing@00:25:00 Nov 19 23:35:04 m1k sm-mta[3774]: starting daemon (8.14.4): SMTP+queueing@00:25:00

Можно приступать к тестированию по отправке/приемке почты .

Не забывайте перезапускать sendmail при любом изменении его файлов конфигурации и пересобирать бинарные базы данных там, где это требуется.

голоса
Рейтинг статьи
Ссылка на основную публикацию