Установка и настройка sendmail. Установка и настройка Sendmail в среде Ubuntu. Проблемы с Интертелекомом

Установка и настройка sendmail. Установка и настройка Sendmail в среде Ubuntu. Проблемы с Интертелекомом

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

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

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

Описание построено на примере системы Windows XP Professional.

Книга:

Разделы на этой странице:

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

* * *

9.2.1. Создание нового подключения

Чтобы настроить новое подключение к Интернету, нужно в панели управления (Пуск ? Панель управления ) выбрать категорию Сеть и подключения к Интернету , а затем – значок Сетевые подключения . В результате выполненных действий отобразится окно Сетевые подключения , которое показано на рис. 9.1.

Рис. 9.1 Сетевые подключения

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

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

После изучения краткой информации о возможностях Мастера нажмите кнопку Далее – в результате окно примет вид, как показано на рис. 9.2.

Рис. 9.2 Выбор типа подключения

Здесь нужно указать тип создаваемого подключения (для этого щелчком мыши выберите соответствующее положение переключателя). Так как нам нужно подключиться к Интернету, то выбираем пункт Подключить к Интернету и нажимаем кнопку Далее . После этого нам предстоит выбрать способ подключения к Интернету (рис. 9.3).

Рис. 9.3 Выбор способа подключения

Здесь нужно перевести переключатель в положение Установить подключение вручную и нажать кнопку Далее – окно Мастера примет вид, как показано на рис. 9.4.

Рис. 9.4 Выбор типа используемого устройства

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

Теперь в поле Имя поставщика услуг нам нужно ввести с клавиатуры имя поставщика услуг Интернета. Отметим, что пользователи часто в качестве названия подключения используют как раз имя поставщика услуг Интернета (но это не обязательно). Например, на рис. 9.1 созданному подключению присвоено имя Beltelecom . После ввода имени нажимаем Далее .

Теперь в открывшемся окне необходимо ввести номер телефона для соединения с поставщиком услуг Интернета (иначе говоря, по этому номеру будет осуществляться выход в Интернет).

* * *

Рис. 9.5 Ввод имени и пароля

На данном этапе нужно с клавиатуры ввести имя пользователя и пароль. Отметим, что пароль вводится дважды – с целью исключения ошибки при вводе. Обычно логин и пароль предоставляет поставщик услуг Интернета.

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

Рис. 9.6 Завершение создания подключения к Интернету

Работа Мастера новых подключений завершается нажатием кнопки Готово . Для удобства работы рекомендуется вывести ярлык созданного подключения на рабочий стол – для этого достаточно установить соответствующий флажок. После выполнения всех перечисленных действий значок созданного подключения отобразится в окне Сетевые подключения (рис. 9.7).

Рис. 9.7 Новое подключение

Для подключения к Интернету следует дважды щелкнуть на нем мышью – откроется окно, как на рис. 9.8.

Рис. 9.8 Вызов набора номера

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

9.2.2. Изменяем параметры созданного подключения

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

Чтобы перейти в режим просмотра и редактирования свойств подключения, откройте окно Сетевые подключения (см. рис. 9.7), щелкните на значке подключения правой кнопкой мыши и в открывшемся контекстном меню выполните команду Свойства . При этом отобразится окно, которое показано на рис. 9.9.

Рис. 9.9 Свойства подключения к Интернету

Как видно на рисунке, это окно содержит несколько вкладок: Общие , Параметры , Безопасность , Сеть и Дополнительно . Далее мы рассмотрим наиболее востребованные параметры каждой вкладки.

Вкладка Общие

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

Параметры набора номера телефона включают в себя поле Номер телефона (именно по этому номеру производится выход в Интернет), а также поля Код города и Код страны или региона , которые доступны только при установленном флажке Использовать правила набора номера . С помощью кнопки Другие можно перейти в режим настройки дополнительных телефонных номеров, которые могут использоваться в данном подключении. При этом на экране отображается окно Дополнительные номера телефонов , изображенное на рис. 9.10.

Рис. 9.10 Настройка дополнительных телефонных номеров

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

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

Если на вкладке Общие установлен флажок При подключении вывести значок в области уведомлений , то при подключении к Интернету в области уведомлений панели задач будет помещен соответствующий значок, который автоматически удаляется при разрыве соединения.

Вкладка Параметры На вкладке Параметры (рис. 9.11) производится настройка параметров набора номера и повторного звонка.

Рис. 9.11 Вкладка Параметры

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

Отображать ход подключения – при установленном данном флажке процесс подключения сопровождается появлением на экране информационных окон, в которых последовательно отображаются этапы подключения (набор номера, регистрация компьютера в сети и др.);

– если данный флажок установлен, то перед соединением система запросит подтверждение имени пользователя, пароля и иных параметров защиты (при их наличии);

– если данный флажок установлен, то перед соединением система запросит имя домена. Установка данного флажка срабатывает только при установленном флажке Запрашивать имя, пароль, сертификат и т. д. ;

Запрашивать номер телефона – если данный флажок установлен, то перед соединением система запросит подтверждение номера телефона.

На рис. 9.12 показано окно, в котором с помощью кнопки Вызов запускается соединение. Напомним, что данное окно открывается на экране при двойном щелчке мышью на значке соединения в окне Сетевые подключения или на рабочем столе.

Рис. 9.12 Запуск соединения

В данном окне параметры Пользователь , Пароль и Сохранять имя пользователя и пароль доступны потому, что в окне свойств подключения на вкладке Параметры установлен флажок Запрашивать имя, пароль, сертификат и т. д. . Поле Домен доступно потому, что в окне свойств установлен флажок Включать домен входа в Windows , а поле Набрать – потому, что в окне свойств установлен флажок Запрашивать номер телефона .

В выделенной области Параметры повторного звонка (см. рис. 9.11) настраиваются следующие параметры:

– в данном поле указывается количество попыток автоматического набора номера телефона, когда с первого раза дозвониться не удается;

Интервал между повторениями – в данном поле указывается промежуток времени, через который производится повторный набор номера. Использование данного параметра имеет смысл в том случае, когда в поле Число повторений набора номера указано любое значение, кроме 0 ;

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

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

Вкладка Безопасность

На вкладке Безопасность выполняется настройка параметров безопасности при работе в Интернете. Для большинства пользователей рекомендуется установить переключатель Параметры безопасности в положение Обычные (рекомендуемые параметры) .

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

При установленном значении Небезопасный пароль флажки Требуется шифрование данных (иначе отключаться) и Использовать автоматически имя входа и пароль из Windows (и имя домена, если существует) становятся недоступными.

Вкладка Сеть Вкладка Сеть предназначена для настройки параметров удаленного доступа пользователя к Интернету. В частности, на ней устанавливается тип подключаемого сервера удаленного доступа, а также определяются сетевые компоненты, используемые данным подключением. Для обычной работы в большинстве случаев выбирают компонент Протокол Интернета (TCP/IP) . При нажатии кнопки Свойства осуществляется переход в режим редактирования свойств выбранного протокола, клиента или службы. Если выбран компонент Протокол Интернета (TCP/IP) , то в данном режиме устанавливают способ получения IP-адреса и адреса DNS-сервера, а также настраивают дополнительные параметры (для перехода в соответствующий режим следует воспользоваться кнопкой Дополнительно ). В большинстве случаев поставщик услуг Интернета подробно поясняет, каким образом следует настраивать параметры на вкладке Сеть .

Вкладка Дополнительно На вкладке Дополнительно с помощью кнопки Параметры можно перейти в режим настройки параметров брандмауэра Windows. Брандмауэр – это система безопасности, которая создает защитный барьер между двумя или большим количеством сетей и предотвращает нежелательные вторжения в домашнюю или небольшую офисную сеть из Интернета. Кроме этого, на данной вкладке вы можете разрешить другим пользователям локальной сети использовать данное подключение для соединения с Интернетом (данный параметр актуален только в том случае, когда компьютер подключен к локальной сети).

Она появилась ещё в 1983 году, но активно используется и по сей день. Среди ключевых особенностей - поддержка многими платформами, которые существуют сегодня, а также бесплатность. Приложение поставляется вместе с открытым исходным кодом. Это значит, что каждый желающий может добавить в него свою функциональность, или же изменить по желанию. В операционной системе Ubuntu, Sendmail, настройка которой выполняется благодаря командной строке Linux, прижилась благодаря хорошей поддержке и богатым возможностям.

Процессор сообщение — Sendmail — получил широкое распространение в бизнес сфере.

На сегодня достаточно распространён «процессор сообщений» Сендмейл Sentrion, который был создан с учётом нужд крупных компаний. Его отличительные черты - высокая производительность и хорошая интегрируемость со всеми бизнес-процессами. Sentrion предлагает наряду с новыми технологиями использовать и устаревшие приложения, которые хорошо прижились. Также приложение достаточно дружелюбно, чтобы подходить домашним пользователям .

Установка программы

Устанавливать Сендмейл нужно на базе локального сервера или web-сервера. Во втором случае почтовый агент будет более функционален. Чтобы получить все компоненты веб-сервера, вам потребуется стек компонентов LAMP . Его можно найти в репозитории.

ВАЖНО. Перед установкой нового ПО не забудьте обновить списки пакетов в локальном репозитории с помощью команды

«$ sudo apt-get update»

Инсталляция Сендмейл начинается с помощью команды «sudo apt install sendmail», которая выполнит загрузку пакетов почтового агента.

«mcedit /etc/hosts»
«sudo sendmailconfig»

После этого требуется перезапустить службы самой программы, а также web-сервера Apache:

«sudo /etc/init.d/sendmail restart»
«sudo /etc/init.d/apache2 restart»

Если необходимо, можно установить утилиты для работы с почтой:

«sudo install mailutils»

В книге подробно рассмотрены настройки сетевых сервисов, позволяющих создать сервер требуемой конфигурации и функциональности на основе ОС Linux. Вы сможете настроить сервер любого типа: от сервера локальной сети до Интернет-сервера и сервера удаленного доступа. Детальна описано администрирование Linux.

Изложение материала построено на основе дистрибутивов Red Hat и Mandrake. Много уникальной информации: запуск Windows-игр под Linux и создание Linux-сервера для игрового зала, настройка антивирусов Dr. Web и AVP под Linux, программа учета трафика MRTG, система защиты и обнаружения атак LIDS, а также многое другое. Особое внимание уделено безопасности Linux-серверов. Достаточно подробно описана сама ОС Linux и приведен справочник ее команд. Прочитав книгу, вы станете обладателями знаний по настройке и компилированию ядра, созданию собственных rpm-пакетов, командному интерпретатору bash, использованию массивов RAID. Вы узнаете внутренний мир Linux. Книга подойдет как для профессиональных, так и для начинающих администраторов, поскольку изложение материала начинается с установки ОС Linux, а в первой главе дано описание основных сетевых технологий и протоколов (Курс Молодого Администратора).

Все приведенные в книге листинги проверены на практике и размещены на прилагаемом CD. Помимо этого на нем содержится много справочной информации (HOWTO, RFC), a также статей, посвященных Linux. Размещен богатый набор вспомогательных утилит и программного обеспечения для сервера (Apache, MySQL, MRTG и др.).

Книга:

Если вы используете дистрибутив, совместимый с RedHat, то вам потребуется установить соответствующие пакеты. Я использую sendmaiI-8.11.0 и imap-4.7c2. Последнюю версию sendmail можно выкачать из Интернет по адресу http://www.sendmail.org.

Прежде, чем приступить к настройке sendmail, вам необходимо правильно настроить DNS. Настройка сервера DNS подробно обсуждалась в гл. 10. Если вы настраиваете только почтовый сервер, вам необязательно настраивать сервер DNS на этом же компьютере. Достаточно будет указать DNS-сервера вашей сети в файле /etc /resolv.conf, чтобы система разрешения имен корректно работала. Впрочем, sendmail можно настроить для работы без использования DNS, но этот вариант я рассматривать не буду.

Для того, чтобы приступить к базовой настройке sendmail, запустите утилиту netconf (см. рис. 13.1). Она работает как и из-под Х-Window, так и из-под консоли. Утилита netconf есть в RedHat Linux, Mandrake, ASPLinux и в других дистрибутивах, ее точно нет в KSI Linux. Естественно, вы должны быть зарегистрированы в системе как root. Если у вас нет программы netconf, вы получите незабываемое удовольствие от редактирования файла /etc/sendmail.cf вручную. Именно в этом файле хранятся все настройки sendmail.


Pиc. 13.1. Конфигуратор netconf

Выберите в меню Mail delivery system, затем Basic sendmail configuration. В поле Present your system as просто введите свое доменное имя. Затем обязательно отметьте флажок «Accept email for your_domain.com» (см. рис. 13.2). Если вы этого не сделаете, через ваш сервер можно будет перенаправить сообщения на другой сервер. При этом через ваш сервер будет идти лишний трафик, который вам совсем ни к чему. Когда-то даже существовал такой вид атаки на отказ через электронную почту. Принцип его следующий: отправляется письмо от несуществующего пользователя [email protected] другому несуществующему пользователю [email protected]. Письмо отправляется через компьютер hostcom, который позволяет перенаправить сообщение (не включен режим «Accept email for domain.com»). Почтовый сервер домена B.com отправляет сообщение по адресу [email protected] о том, что пользователь [email protected] не существует. В свою очередь, почтовик домена A.com сообщает, что пользователя [email protected] также не существует и отправляет сообщение по адресу [email protected]. Возникает косвенная рекурсия. А теперь представьте, что такое сообщение не одно, а, скажем, 100 и объем каждого хотя бы 1 Мб! В результате один из серверов в цепочке domain1.com - host.com - domain2.com должен «упасть».


Рис. 13.2. Основная конфигурация sendmail

Прошу извинения, я немного отошел от темы, продолжим конфигурировать sendmail. Протокол отправки сообщений установите smtp (Mail gateway protocol).

Этой информации уже вполне достаточно, чтобы ваш sendmail функционировал. Вы можете установить дополнительные опции программы sendmail с помощью netconf.

Теперь сделайте так, чтобы 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 hosts.allow.

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

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: [email protected]
220 2.1.0 [email protected] …. Sender Ok
rcpt to: [email protected]
220 2.1.5 [email protected] …. Recipient Ok

После этого введите команду data, потом текст сообщения, а для окончания ввода поставьте точку в пустой строке. Sendmail сообщит, что сообщение отправлено (точнее помещено в очередь на отправку). Запись [email protected] - имя пользователя, которому вы отправляете почту. Пользователь должен реально существовать. Запись den.dhsilabs.com - имя вашего почтовика.

Примечание. Имена [email protected] и dhsilabs.com даны в качестве примера. Вместо них вы должны указать свои значения.

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

Теперь нужно запустить какой-нибудь почтовый клиент, например kmail, и получить почту. Используйте следующие настройки сети в программе kmail: Сеть? Отправка почты установите SMTP, порт 25, имя сервера - имя вашего почтовика, в рассматриваемом примере - это den.dhsilabs.com. Затем добавьте аккаунт для POP3:

Имя пользователя - den

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

Сервер - den.dhsilabs.com

В результате вы должны получить то сообщение, которое ввели после data. При этом возможны проблемы при разрешении имени. Чтобы их избежать необходимо правильно настроить DNS или вместо имени почтового сервера использовать его IP-адрес. При добавлении нового пользователя не забудьте установить его пароль для входа в систему. Если этого не сделать, а пытаться получить почту без указания пароля, вы получите сообщение «Сбой аутентификации».

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

Примечание. В большинстве случаев, вас будет устраивать базовая настройка до тех пор, пока вас не возьмут под свой «протекторат» спаммеры - тогда вам нужно будет прочесть гл. 23 о методах защиты от спама. Однако может сработать один из законов Мерфи - для вашей системы не будет разработан конфигуратор sendmail и тогда вам все равно придется разбираться с файлами конфигурации.

Основным файлом конфигурации sendmail является файл /etc/sendmail.cf. В некоторых дистрибутивах этот файл расположен в каталоге /etc/mail. Об этом файле говорят, что он длиннее, чем лимузин у Билла Гейтса и что его редактирование происходит в режиме «глаза боятся, руки делают». Если вы не верите мне, откройте этот файл, и вы убедитесь в этом. Редактировать данный файл вручную могут только профессионалы-администраторы или разработчики программы sendmail.

Обычно для редактирования этого файла используется макропроцессор m4. Сначала вы подготавливаете специальный mc-файл. В этом файле записаны настройки.sendmail, но в более «читабельном» виде. При редактировании конфигурационных файлов также сказывается и их размер. Для сравнения: размер моего mc-файла - 2459 байт, а файла sendmail.cf - 46302 байт. Одно дело, редактировать файл размером в два килобайта, и совсем другое, если размер файла равен 46 килобайтам. В отличие от конфигурационного файла sendmail, вы сразу поймете, для чего предназначен тот или иной mc-файл. Затем, отредактировав mc-файл, нужно запустить макропроцессор m4 для создания файла конфигурации sendmail:

m4 my_config.mc > /etc/sendmail.cf

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

Файл конфигурации по умолчанию, который используется макропроцессором т4 для создания файла конфигурации программы sendmail (sendmail.cf), находится в каталоге /usr/share/sendmail-cf/cf. В более старых версиях программы sendmail он может быть расположен в каталоге /usr/lib/sendmail.

Как правило, этот файл называется sendmail.mc. Иногда он может называться и по-другому, например, redhat.mc, если вы используете операционную систему Red Hat или совместимую с ней.

Пример стандартного файла /usr/share/sendmail-cf/cf/redhat.mc приведен в листинге 13.1.

Листинг 13.1. Стандартный файл redhat.mc

divert(-1)
dnl This is the sendmail macro config file. If you make changes to this file,
dnl you need the sendmail-cf rpm installed and then have to generate a
dnl new /etc/sendmail.cf by running the following command: dnl
dnl m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
dnl
include("../m4/cf.m4")
VERSIONID("linux setup for Red Hat Linux")dnl
OSTYPE("linux")
define("confDEF_USER_ID","8:12") dnl
undefine("UUCP_RELAY")dnl
undefine("BITNET_RELAY")dnl
define("confAUTO_REBUILD")dnl
define("confTO_CONNECT", "1m")dnl
define("confTRY_NULL_MX_LIST",true)dnl
define("confDONT_PROBE_INTERFACES",true)dnl
define("PROCMAIL_MAILER_PATH", "/usr/bin/procmail")dnl
define("ALIAS_FILE", "/eto/aliases")dnl
dnl define("STATUS_FILE", "/etc/mail/statistics")dnl
define("UUCP_MAILER_MAX", "2000000")dnl
define("conf USERDB_SPEC", "/etc/mail/userdb.db")dnl
define("confPRIVACY_FLAGS", "authwarnings,novrfy,noexpn,restrictqrun")dnl
define("confAUTH_OPTIONS", "A")dnl
dnl TRUST_AUTH_MECH("DIGEST-MD5 CRAM-MD5 LOGIN PLAIN") dnl
dnl define("confAUTH_MECHANISMS", "DIGEST-MD5 CRAM-MD5 LOGIN PLAIN")dnl
dnl define("confTO_QUEUEWARN", "4h")dnl
dnl define("confTO_QUEUERETURN", "5d")dnl
dnl define("confQUEUE_LA", "12")dnl
dnl define("confREFUSE_LA", "18")dnl
dnl FEATURE(delay_checks)dnl
FEATURE("no_default_msa", "dnl")dnl
FEATURE("smrsh",Vusr/sbin/smrsh")dnl
FEATURE("mailertable", "hash-o /etc/mail/mailertable.db")dnl
FEATURE("virtusertable", "hash –o /etc/mail/virtusertable.db")dnl
FEATURE(redirect)dnl
FEATURE(always_add_domain)dnl
FEATURE(use_cw_file)dnl
FEATURE(use_ct_file)dnl
FEATURE(local_procmail, "", "procmail –t –Y –a $h –d $u")dnl
FEATURE("access_db","hash –o /etc/mail/access.db")dnl
FEATURE("blacklist_recipients")dnl
EXPOSED_USER("root") dnl
dnl This changes sendmail to only listen on the loopback device 127.0.0.1
dnl and not on any other network devices. Comment this out if you want
dnl to accept email over the network.
DAEMON_OPTIONS("Port=smtp,Addr=127.0.0.1, Name=MTA")
dnl NOTE: binding both IPv4 and IPv6 daemon to the same port requires
dnl a kernel patch
dnl DAEMON_OPTIONS (xport=smtp,Addr=::1, Name=MTA-v6, Family=inet6")
dnl We strongly recommend to comment this one out if you want to protect
dnl yourself from spam. However, the laptop and users on computers that
do dnl not have 24x7 DNS do need this.
FEATURE("accept_unresolvable_domains")dnl
dnl FEATURE("relay_based_on_MX")dnl
MAILER(smtp)dnl
MAILER(procmail)dnl
Cwlocalhost.localdomain

С помощью директивы FEATURE можно подключить ту или иную функцию программы sendmail. Например, функция mailertable предназначена для переопределения маршрутизации для конкретных доменов. Вы можете легко расширить функциональные возможности программы sendmail, добавив нужные вам функции в mc-файл.

Предположим, что вы хотите, чтобы названия компьютеров домена были скрыты. Это легко достигается с помощью добавления функции masquerade_envelope в ваш mc-файл. Для этого скопируйте файл redhat.mc в файл hide_hosts.me и добавьте в конец файла hide_hosts.me строки:

MASQUERADE_AS(my-domain.ru)dnl
FEATURE(masquerade_envelope)dnl

Затем выполните команду:

m4 /usr/share/sendmail-cf/cf/hide_hosts.me> /etc/sendmail.me

Вот и все! Названия узлов будут скрыты. Описание прочих функций представлено в табл. 13.1.

Функции программы sendmail Таблица 13.1

Функция Описание
access_db Определяет таблицу доступа. В этой таблице указаны хосты, которым разрешена или запрещена отправка почты через ваш почтовый сервер. Эта опция эффективно используется для борьбы со спамом. Защита от спама подробно рассмотрена в одноименном разделе в гл. 23
accept_unresolvable_domains Разрешает отправлять почту доменам, которые не могут быть распознаны
bestmx_is-local Сообщения будут приниматься только в том случае, если запись МХ-сервера DNS указывает на этот почтовый сервер
blacklist_recipients «Черный список». Еще одна опция для борьбы со спамом. Для ее работы необходима опция access_db
dnsbl Используется для работы с «черным списком», dnsbl - это сокращение от DNS Black List. В более ранних версиях эта опция называлась (Resolve Black List)
domaintable Используется для разрешения имен доменов
genericstable Используется для изменения адреса отправки в сообщениях
local_procmail Указывает, что доставлять почту нужно с помощью локальной утилиты procmail
mailertable Переопределяет маршрутизацию для конкретных доменов
masquerade_entire_domain Используется для маскировки (сокрытия) всего домена. Данная функция должна использоваться вместе с директивой MASQUERADE AS (или MASQUERADE_DOMAIN), например, MASQUERADE_AS(f117.ru)dnl
masquerade_envelope Позволяет скрыть имена хостов домена. Заменяет поле received from заголовка сообщения перед передачей сообщения другим
redirect Используется для перенаправления на другой почтовый сервер. Означает отказ от принятия почты с выдачей сообщения please try
(попытайтесь использовать этот адрес)
relay_based_on_MX Разрешает перенаправление (ретрансляцию) почты только для узлов, которые указаны в записях МХ-сервера DNS
relay_hosts_only Разрешает ретрансляцию только для узлов, указанных в access_db
relay_mail_from Разрешает ретрансляцию только, если отправитель указан в списке RELAY базы accessdb
smrsh Использование ограниченной оболочки sendmail
use_cf_file При указании этой функции sendmail будет обращаться к файлу sendmail.cf за списком доверенных пользователей
use_cw_file При указании этой функции sendmail будет обращаться к файлу sendmail.cw за списком локальных узлов
virtusertable Преобразует адрес получателя в адрес локального пользователя

В файле /etc/mail/sendmail.cw перечислены все псевдонимы данного почтового сервера. Предположим, что имя вашего сервера mail.dhsilabs.ru. Если отправитель отправит почту по адресу [email protected], письмо будет без проблем доставлено пользователю den. А если кто-то отправит письмо по адресу [email protected], то его доставка вызовет определенные трудности, так как не ясно какому узлу домена dhsilabs адресовано сообщение? Для решения этой проблемы в файл sendmail.cw нужно поместить строку.

Руководство по установке и настройке одного из старейших MTA (Mail Transfer Agent ), программа для отправки электронной почты - sendmail , который доступен для установки на любой операционной системе. Во многих ОСях sendmail установлен по умолчанию и менять этот стандартный MTA на другой особой необходимости нет. При этом, тот же PHP по дефолту настроен на работу именно с этим MTA. Если настройка sendmail затягивается - ставьте postfix (), не стоит терять много времени.

Подготовка

Проверьте установлен ли у вас sendmail , а не exim4 или другой MTA:

Ls -la `which sendmail` # lrwxrwxrwx 1 root root 26 2011-01-17 19:58 /usr/sbin/sendmail -> /etc/alternatives/sendmail

Установка

sudo apt-get install sendmail sasl2-bin

Настройка /etc/hosts

127.0.0.1 localhost localhost.localdomain e5530
Примечание

Необходимо указать ваш основной хост (имя компьютера, у меня это e5530) и localhost.localdomain иначе вы получите ошибку: My unqualified host name (myhostname) unknown; sleeping for retry» и «unable to qualify my own domain name (e5530) – using short name , sendmail долго стартует и медленно отправляет почту. Возможно хост localhost.localdomain можно пропустить, не уверен.

После этого нужно указать имена локальных хостов, от которых sendmail будет принимать запросы на отправку email сообщений, в файле /etc/mail/local-host-names:

AuthInfo:smtp.gmail.com "U:[email protected]" "I:[email protected]" "P:YourPass" "M:PLAIN" AuthInfo:smtp.gmail.com:465 "U:[email protected]" "I:[email protected]" "P:YourPass" "M:PLAIN"

Примечание

Вместо порта 465 можете попытаться стучать на 587 (если есть проблемы с авторизацией):

AuthInfo:smtp.gmail.com:587 "U:[email protected]" "I:[email protected]" "P:YourPass" "M:PLAIN"

Chmod 600 /etc/mail/auth/*

Конфиг sendmail.mc

Файл конфига /etc/mail/sendmail.mc . Сравните ваш конфиг. Должно быть как-то так.. Порядок инструкций важен!

Dnl # include(`/etc/mail/m4/dialup.m4")dnl include(`/etc/mail/m4/provider.m4")dnl include(`/etc/mail/tls/starttls.m4")dnl include(`/etc/mail/sasl/sasl.m4")dnl FEATURE(`authinfo",`hash /etc/mail/auth/client-info")dnl define(`SMART_HOST",`smtp.gmail.com")dnl define(`RELAY_MAILER_ARGS", `TCP $h 587")dnl define(`ESMTP_MAILER_ARGS", `TCP $h 587")dnl dnl # dnl # Default Mailer setup MAILER_DEFINITIONS MAILER(`local")dnl MAILER(`smtp")dnl define(`confAUTH_MECHANISMS", `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN")dnl # dnl define(`confDOMAIN_NAME", `e5530")dnl

Применяем конфиг sendmail

cd /etc/mail sudo su # просто sudo не сработает! m4 sendmail.mc > sendmail.cf makemap -r hash authinfo.db < auth/client-info make /etc/init.d/sendmail restart # Перезагрузка конфига

Проблемы и решения

Если все настроено правильно но сообщения попадают в «отложенную очередь» и не релеятся на другой SMTP:

  1. Проверьте ваш IP"шник в блек-листах. Проверить бан IP можно тут smart-ip.net , мой IP попал в базу spamhaus "а.
  2. Проверьте не блокирует ли провайдер исходящие пакеты на 25 порт.
Проблемы с Интертелекомом!

У меня так и не получилось настроить релей сообщений на GMail через sendmail на Интертелекомовском подключении - sendmail упорно стучался на 25 порт, который закрыт провайдером. Пришлось настраивать postfix .

Настройка PHP (если необходимо)

Укажите параметры запуска sendmail в конфиге /etc/php5/apache2/php.ini (/etc/php5/cli/php.ini):

## Настройка sendmail для PHP: sendmail_path = /usr/sbin/sendmail -t ;sendmail_path = "/usr/sbin/sendmail -t -f [email protected] -i"

Проверим настройки

echo "Текст сообщения" | mail -s "Subjet" [email protected] sendmail -t [email protected] -f [email protected] -v -i < ~/mail-body.txt

Для проверки postfix попробуйте отправить несколько сообщений из консоли. Как это делать я расписал в этой статье: « ».

Управление sendmail

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

Sudo mailq

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

Sudo mailq | grep "[email protected]" | wc -l

Очистить всю очередь сообщений sendmail:

Sudo rm -r /var/spool/mqueue-client/*

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

Cd /var/spool/mqueue ls | xargs -ti sh -c "grep "[email protected]" "{}" > /dev/null && rm -f "{}""

#sendmail, #LAMP, #MTA

P.S. Если вы хотите изучить консоль Linux на достаточно хорошем уровне - рекомендую к прочтению свежую книгу Дениса Колисниченко «Командная строка Linux и автоматизация рутинных задач ».



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows