Меню Рубрики

Установка sendmail на red hat

How to Install Sendmail Server on CentOS/RHEL 7/6

Sendmail is a MTA (Mail Transfer Agent) server used for transferring email from between different hosts. Sendmail uses SMTP (Simple Mail Transfer Protocol) protocol. Most of the system administrators preferred to use Sendmail server as MTA than other MTAs.

RHEL 5 or its earlier versions were using Sendmail as a default mail server, But newer version’s of RHEL based systems adapted postfix as a default mail server. Most of the users are familiar with Sendmail and want to use it with version 6 also. This article will help users for installing Sendmail server on RHEL 7/6/5 or with minimal configuration.

1. Install Sendmail

If you don’t have installed Sendmail using the following command to install Sendmail with other required packages using yum package manager.

2. Configure Sendmail Server

Before starting configuration we must know about various Sendmail configuration files exists in /etc/mail directory.

  • access — Allow/Deny other systems to use Sendmail for outbound emails.
  • domaintable — Used for domain name mapping for Sendmail.
  • local-host-names — Used to define aliases for the host.
  • mailertable — Defined the instructions that override routing for particular domains.
  • virtusertable — Specifies a domain-specific form of aliasing, allowing multiple virtual domains to be hosted on one machine.

    2.1 Comment out below line in /etc/mail/sendmail.mc to allow receiving email from anywhere. To comment a line in sendmail.mc, just put dnl at start of line.

    2.2 Add this line also in sendmail.mc above ‘MAILER’ option

    2.3 Add your PC’s full hostname in this file.

    3. Recompile Sendmail Configuration

    m4 ia a macro processor to compile the Sendmail configuration files. m4 is stream-based, that is, it doesn’t understand about lines.

    4. Configure Domain-based E-mail Routing

    As we read above that virtusertable file used for aliasing, allowing multiple virtual domains to be hosted on one machine.

    1. All emails addressed to @example.com domain delivered to [email protected]

    2. All emails addressed to [email protected] will forward to local user jack.

    3. All emails addressed to @mydomain.com will forward to domain @otherdomain.com with corresponding usernames.

    4. All emails addressed to @otherdomain.com will be rejected my mail server with acknowledging sender with the message

    After making all changes in virtusertable execute following command to create updated virtusertable.db file containing the new configuration.

    Now restart Sendmail service

    Thanks for reading this article. I hope this article will help you to configure Sendmail on CentOS and Red Hat systems.

    источник

    Настройка sendmail для отправки почты через gmail.com

    Долго искал внятное объяснение как заставить локальный sendmail, установленный на компьютере во внутренней сети, отправлять почту во внешний мир. В качестве relay был выбран smtp.gmail.com.

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

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

    Система: CentOS 6.3 (2.6.32-279.el6.x86_64).
    Установка нужных пакетов:

    Создание SSL сертификатов:

    Создание файла с данными для аутентификации:

    Добавляем в sendmail.mc нужную конфигурацию (важно: сделать это до первого FEATURE):

    Компилируем конфигурацию, перезапускаем sendmail и проверяем отправку почты:

    Редакторский дайджест

    Присылаем лучшие статьи раз в месяц

    Скоро на этот адрес придет письмо. Подтвердите подписку, если всё в силе.

    Похожие публикации

    Выбираем WAMP платформу для разработки сайтов под Windows

    Sendmail-заглушка для Linux

    PHP mail под Windows

    Вакансии

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Комментарии 7

    Вот да. Очень удобная и полезная утилитка — сформировал для нее письмо и вперед.

    Забавно, кстати недавно вышло — разбираясь с тем почему ssmtp с одной машины внезапно перестала отправлять мне письма неожиданно понял что до самого недавнего времени она отсылала письма с одного адреса гугльпочты, при этом в поле from: пихался другой. Секурити апгрейдет…

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

    К дополнению в посте нужно сказать есть статья 2008 года habrahabr.ru/post/281102 для настройки под Windows OS- в данный момент устаревшая.
    У меня получилось так Windows2012+IIS8+php5.5.3+sendmail.
    Настройки PHP.ini
    [mail function]
    SMTP =
    sendmail_from =
    sendmail_path = «C:\sendmail\sendmail.exe -t»
    Настройки sendmail
    [sendmail]
    smtp_server=smtp.googlemail.com
    smtp_port=465
    smtp_ssl=auto
    error_logfile=error.log
    debug_logfile=debug.log
    auth_username=ваша почта@gmail.com
    auth_password=пароль от почты
    pop3_server=
    pop3_username=
    pop3_password=
    force_sender=ваша почта@gmail.com
    force_recipient=
    hostname=ваша почта@gmail.com

    Читайте также:  Установка развала схождения ока

    На гугле почте в настройках безопасности необходимо включить Безопастность и вход>Ненадежные приложения заблокированы.
    Еще если не ошибаюсь на видовом сервере нужно включить Диспетчер служб IIS 6.0 а в нем настроить SMTP VirtualServer

    источник

    Установка sendmail на red hat

    Для начала небольшое отступление

    SMTP — Simple Mail Transfer Protocol — сервис в сетях TCP/IP для передачи сообщений (т.е. почты). Обычно для SMTP используется 25-ый порт (см. файл /etc/services)

    POP — Post Office Protocol — используется для получения почты с сервера. Порт по умолчанию — 110 (для протокола POP3)

    Сейчас я попробую объяснить, как настроить небольшой почтовый сервер, использующий POP3 и SMTP

    Для начала установим необходимый софт. Нам понадобятся sendmail и imap. Если вы используете RH-совместимую версию Linux, вам потребуется установить соответствующие пакеты.
    Я использую
    sendmail-8.11.0
    imap-4.7c2

    Прежде, чем приступить к настройке sendmail, вам необходимо правильно настроить DNS, иначе эта программа буде работать некорректно (хотя можно настроить sendmail для работы без использования dns).

    Произведем базовую настройку sendmail. Для этого нужно запустить утилиту
    netconf . Она работает как из-под Х, так и из-под консоли.
    Утилита netconf есть в RH, Mandrake — насчет других версий я точно не знаю. (ее нет в KSI Linux). Естественно, вы должны быть зарегистрированы в системе под root’ом

    Выберите в меню Mail delivery system , затем Basic sendmail configuration
    В поле Present your system as просто введите свое доменное имя
    Затем отметьте флажок Accept email for .
    Протокол отправки сообщений установите в smtp ( Mail gateway protocol )

    Этой информации уже вполне достаточно, чтобы ваш sendmail функционировал.
    Вы можете установить дополнительные опции программы sendmail с помощью
    netconf. Если у вас нет программы sendmail, вы получите незабываемое
    удовольствие от ручного редактирования файла /etc/sendmail.cf — в нем
    хранятся настройки) 🙂

    Теперь сделаем так, чтобы sendmail принимал почту только с разрешенных
    адресов. Для этого даже не нужно настраивать сам sendmail — нужно только
    подправить файлы /etc/hosts.allow и /etc/hosts.deny
    В первом из них содержится список хостов, которым разрешен доступ к этой
    машине, а во втором — запрещен. Обратите внимание: несмотря на название
    (разрешен|запрещен), ограничения, которые устанавливаются первым файлом
    намного строже.

    Пример. Для запрещения доступа всем хостам, кроме компьютеров вашей
    сети в файл /etc/hosts.allow добавьте строку
    ‘192.168.1.
    Здесь имеется в виду, что сеть имеет адрес 192.168.1.0 и маску 255.255.255.0
    Более подробно о формате файлов hosts.allow и hosts.deny вы можете прочитать,
    введя команду man /etc/hosts.allow

    Для того, чтобы принимать почту только со «своих» доменов, нужно добавить в
    mc-файл (обычно /etc/mail/sendmail.mc) следующие строки (используйте
    табуляцию, а не пробелы)
    LOCAL_CONFIG
    FR-o /etc/sendmail.cR

    LOCAL_RULESETS
    Scheck_rcpt
    # anything terminating locally is ok
    R $@ OK
    R $@ OK

    # anything originating locally is ok
    R$* $: $(dequote «» $& $)
    R$=w $@ OK
    R$=R $@ OK
    R$@ $@ OK

    # anything else is bogus
    R$* $#error $: «550 Relaying Denied»

    Теперь создайте файл /etc/sendmail.cR и введите в него имена «своих» доменов —
    по одному в каждой строчке.
    Только на эти домены почтовик сможет получать почту — все остальные получат
    сообщение 550 Relaying Denied

    Теперь настала очередь POP3. После установки пакета imap у вас практически
    все настроено, т.е. я хочу сказать, что уже можно проверять конфигурацию.

    Для начала перезапустите демон inetd
    После его перезапуска сервисы sendmail и popd будут активированы (точнее
    один sendmail, а popd вызывается по мере необходимости)

    Попробуйте сделать следующее:
    введите telnet 25
    Вы должны увидеть примерно следующее:
    Trying 192.168.1.1 .
    Connected to 192.168.1.1
    Escape character is ‘^]’
    220 de.dhsilabs.com ESMTP Sendmail 8.11.0/8.8.7 Sun, 17 Jun 2001 10:54:22 +300

    Это означает, что sendmail работает, осталось проверить насколько правильно 🙂

    Вводим
    mail from: me@my.host.com
    220 2.1.0 me@my.host.com . Sender Ok
    rcpt to: den@den.dhsilabs.com
    220 2.1.5 den@den.dhsilabs.com . Recipient Ok
    Теперь вводим data, потом текст сообщения, для окончания ввода ставим точку
    в пустой строке

    Sendmail сообщит, что сообщение отправлено (точнее помещено в
    очередь на отправление)

    den@den.dhsilabs.com -имя пользователя, которому я отправляю почту.
    den.dhsilabs.com — имя моего почтовика
    Обратите внимание, что узла my.host.com и в природе нет, а Sender Ok.
    Вот поэтому, в настройках sendmail лучше включить опцию Wait for DNS

    Читайте также:  Установка лезвий на edea

    Теперь нужно запустить какой-нибудь почтовый клиент например kmail
    и забрать почту.
    Настройки сети в kmail
    Сеть -> Отправка почты установите SMTP, 25-ый порт, имя сервера —
    имя вашего почтовика,
    у меня — den.dhsilabs.com

    Затем добавьте аккуант для POP3
    Логи — den
    Пароль — пароль который используется для входа в систему
    Сервер — den.dhsilabs.com
    Порт — 110

    Вы должны получить то, сообщение, которое ввели после data.

    источник

    Установка и настройка sendmail

    Настраиваем sendmail (8.12.6/7/8) для виртуального почтового хостинга.

    Установка sendmail

    Сначала устанавливаем итз портов sendmail c поддержкой cyrus sasl (система аутентификации).

    После установки sendmail мы должны изменить файл /etc/make.conf. Добавляем в него строчку

    Если до этого стоял более старый sendmail, устанавливаем файл submit.cf

    Для запуска sendmail будем использовать следующий сценарий (переименуем его в удобоваримый формат):

    Для нормального запуска обновленной версии мы должны указать путь к ней (файл /etc/mail/mailer.conf). Это можно сделать либо при помощи команды

    либо вручную, изменив файл mailer.conf:

    На этом установка sendmail окончена. Осталоь столько запустить его командой

    Сообщения sendmail sm-msp-queue говорят о том, что все прошло нормально.

    Настройка sendmail

    Будем считать, что мы настраиваем два виртуальных почтовых домена: perldoc.ru и perlfaq.ru. Для настройки sendmail c поддержкой виртуального постового хостинга нам потребуется создать (или изменить) следующие файлы:

    • freebsd.mc
    • aliases
    • access
    • local-host-names
    • virtusertable

    aliases

    Этот файл описывает пользовательские псевдонимы, используемые sendmail. Файл расположен в каталоге /etc/mail и представляет собой список вида

    Более подробно структура файла aliases описана в aliases (5). В этот файл мы добавляем строку

    Вся локальная почта, адресованная пользователю root, теперь будет приходить на адрес admin@perldoc.ru.

    access

    В этом файле мы указываем, для каких IP адресов sendmail должен принимать и пересылать почту. Поскольку для эих целей мы будем использовать аутентификацию cyrus sasl, мы разрешим только отсылку с локального хоста

    local-host-names

    В этом файле мы храним названия доменов, для которых наш сервер должен обрабатывать почту. Поскольку мы хотим использовать наш сервер для двух виртуальных почтовых доменов perldoc.ru и perlfaq.ru, пропишем их в файл:

    virtusertable

    В файле virtusertable мы указываем sendmail, куда направлять почту, пришедшую на адреса в доменах perldoc.ru и perlfaq.ru.

    Вся почта, пришедшая на адрес stellar@perldoc.ru будет направляться в почтовый ящик пользователя stellar-perldoc.ru, а почта, пришедшая на admin@perldoc.ru, соответственно будет отсылаться пользователю admin-perldoc.ru. Тоже самое будет и для домена perlfaq.ru. Если на наш домен будет прислана почта с несуществующем пользователем, сработает строчка

    и sendmail откажется принимать такое сообщение.

    freebsd.mc

    Теперь нам осталось только изменить конфигурацию файла freebsd.mc, чтобы sendmail научился работать с виртуальными почтовыми доменами. Здесь надо понимать, что в том случае, когда существует файл, у которого имя совпадает с названием машины (например, для машины с именем genius файл будет genius.mc), он используется вместо файла freebsd.mc

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

    В строке 6 мы задаем файл с пользовательскими псевдонимами; в десятой строке — имя файла трансляции виртуальных пользователей в настоящих, а в 36-й строке — названия доменов, для которых наш сервер должен обрабатывать почту.
    Также ограничим максимальный размер письма одним мегабайтом (строка 49) и запретим рассылать письмо одновременно более, чем 10 получателям (строка 48). Если есть необходимость отправки всей почты на промежуточный SMTP сервер (например, на SMTP сервер провайдера), следует раскомментировать строку 31 и вместо «your.isp.mail.server» указать IP адрес или имя SMTP сервера провайдера.

    Запуск и тестирование

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

    Результатом будет нечто вроде этого:

    /usr/bin/m4 -D_CF_DIR_=/usr/local/share/sendmail/cf/ /usr/local/share/sendmail/cf/m4/cf.m4 genius.mc > genius.cf /usr/sbin/makemap hash virtusertable.db Свойства почтового ящика -> Транспорт -> Аутентификация

    Выделяем чекбокс «Аутентификация SMTP (RFC-2554)».
    Переключаем кнопку «Использовать параметры, указанные ниже.»
    Вводим имя пользователя и пароль, которые создали при помощи saslpasswd2.
    Пользователь: admin-perldoc.ru@genius.
    Пароль: *********

    (!) Обратите внимание на то, что имя пользователя указано вместе с именем машины.
    Выделяем чекбокс «Требовать безопасную (MD5) аутентификацию».

    В том случае, если используется MS Outlook или другой почтовый клиент, в котором нет безопасной аутентификации (DIGEST-MD5, CRAM-MD5), необходимо использовать аутентификацию по методам PLAIN или LOGIN. При этом в качестве имени пользователя надо использовать имя пользователя БЕЗ добавленного имени машины. В нашем случае имя пользователя будет выглядеть так: admin-perldoc.ru.

    Читайте также:  Установка дефлекторов ниссан альмера классик

    После отправки письма в лог-файле /var/log/maillog должны быть примерно такие записи:

    источник

    Почтовый сервер на собственном сайте через sendmail

    Не так давно передо мной встала задача предоставить зарегистрированным в моих каталогах, промышленной, автомобильной и риэлторской тематики, организация личный почтовый ящик с именем моего домена. Вместо того, чтобы выдавать пользователям каталога непосредственные контактные данные, было определено, что более продуктивно будет выдавать им контактные данные с названием моего домена. Что должно увеличить посещаемость, как среди пользователей, так и среди самих организаций.

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

    К сожалению, как только я начал обращаться с данным вопросом на крупнейших форумах рунета, то получил не совсем тот ответ, который я ожидал. При этом, лучшие из предложений сводились к тому, чтобы снести прекрасно работающий sendmail и установить на него Postfix и Dovecot, которые тянули и другие зависимости. А установочный пакет выглядел бы примерно так: exim4, exim4-base, exim4-config, exim4-daemon-heavy, dovecot-common, dovecot-imapd, dovecot-pop3d, php5-imap. В худшем оговаривали баснословные суммы, аж в 2000$, или советовали пройти мимо и не позориться.

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

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

    В первую очередь необходимо прописать настройки в dns-зоне:

    Указанный в ДНС MX адрес также надо будет прописать в /etc/hosts, добавив:

    Теперь перейдем непосредтственно к конфиругации sendmail.

    Начнем с файла /etc/mail/sendmail.mc. Для начала откроем двери для всех желающих, так как по умолчанию smtp-порт открыт только на раздачу. Проблему вирусов, спама и дос-атак обсудим позже. Делается это так:

    Добавим таблицы виртуальных пользователей и доменов:

    Теперь создадим файл, куда будем класть почту:

    И назначим ему права владельца а группу sendmail агента:

    Путь и название файла условное и рекомендуется создавать файл вне зоны доступа для случайных пользователей.

    В файле /etc/aliases пропишем имя виртуального пользователя, которому и будут приходить сообщения.

    В этом случае вся почта будет скапливаться в файле /home/site.ru/public_html/mail

    Большой файл разобрать сложно, да и неудобно обращаться к нему отдельно от самого sendmail. Поэтому наиболее удобный вариант направить сразу на php скрипт, который будет его обрабатывать на лету.

    Чтобы письма всех возможных пользователей отправлялись в файл /site.ru/public_html/mail.php

    Запишем в файл /etc/mail/virtusertable инструкцию:

    Данная инструкция сообщает, что всех возможных пользователей сайта site.ru мы определяем как пользователя user, для которого ранее мы уже определили место для хранение почты. В дальнейшем нам лишь останется разобрать, кому и чья почта принадлежит и отдать уже фактическому владельцу на нашем сайте.

    Завершающим этапом останется лишь прописать список имен хостов, принимаемых программой sendmail в файле
    /etc/mail/local-host-names.

    Активируем изменения командой sendmailconfig.

    Защита от DDoS-атак

    Для защиты от дос-атак я приведу несколько настроек, которые будут полезны. Их необходимо прописать в файле /etc/mail/sendmail.mc:

    После чего еще раз активируем изменения командой sendmailconfig.

    Антиспам и антивирус

    В качестве антивирусной программы будем использовать Dr.Web. Он же поможет нам справиться и со спамом. Я не стал использовать дополнительные спам-фильтры, так как сам после долгих страданий от того, что в сервисе gmail.com нужные мне письма постоянно попадали в спам. Принял решение перейти на yandex. Поэтому чистку спамом считаю делом индивидуальным, а использование каких-либо спам-листов и фильтров довольно сомнительным удовольствием.

    Основной файл настройки антиспама /etc/drweb/plugin_vaderetro.conf. В нем нас особо интересуют черные и белые списки:

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

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

    источник

  • Добавить комментарий