ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ БЕЛГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ (НИУ «БелГУ») ФАКУЛЬТЕТ КОМПЬЮТЕРНЫХ НАУК И ТЕЛЕКОММУНИКАЦИЙ КАФЕДРА МАТЕМАТИЧЕСКОГО И ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИНФОРМАЦИОННЫХ СИСТЕМ Отчет по лабораторной работе №2 студента дневного отделения 4 курса группы 140901 Батищева Дениса Сергеевича вариант №1 ПОЧТА И НОВОСТИ Проверил: Лихошерстный А. Ю. Оценка: __________ дата _________ Подпись: ________________________ БЕЛГОРОД 2012 Sendmail Установка Для установки MTA Sendmail в системе GNU/Linux Debian достаточно поставить только пакет sendmail следующим образом: sudo apt-get install sendmail. После этого появляется набор необходимых для конфигурации исполняемых файлов. [root ~ ]# apt-get install sendmail Reading package lists... Done Building dependency tree Reading state information... Done sendmail is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 103 not upgraded. [root ~ ]# Конфигурирование Для конфигурации используются файлы в директории /etc/mail/, но, как правило, в большинстве систем sendmail уже настроен, как локальный MTA, т.е. требуется только добавить виртуальных пользователей. Добавляем алиасы для пользователей. Для этого дописываем в файл /etc/mail/aliaces имя пользователя и ящик для его почты. Пример: [root ~ ]# cat /etc/mail/aliases # /etc/aliases mailer-daemon: postmaster postmaster: root nobody: root hostmaster: root usenet: root news: root webmaster: root www: root ftp: root abuse: root noc: root security: root root: ii343hbka user: ii343hbka [root ~ ]# В данном случае используются локальные пользователи, но можно указывать и удаленные почтовые ящики, тогда Sendmail будет пересылать почту на эти ящики. Запуск и тестирование Так как Sendmail – почтовый сервер, то он слушает стандартные для этого порты. Проверим это. [root ~ ]# nmap localhost -p25 Starting Nmap 6.00 ( http://nmap.org ) at 2012-10-22 17:32 MSK Nmap scan report for localhost (127.0.0.1) Host is up (0.000069s latency). PORT STATE SERVICE 25/tcp open smtp Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds [root ~ ]# Как видим, 25 порт открыт и слушается. Так же работу можно проверить, попробовав подключиться с помощью telnet на 25 порт. [root ~ ]# telnet localhost 25 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 localhost ESMTP Sendmail 8.14.4/8.14.4/Debian-2.1; Mon, 22 Oct 2012 18:02:09 +0400; (No UCE/UBE) logging access from: localhost(OK)-localhost [127.0.0.1] Отлично видно, что Sendmail принимает входящие соединения. Пробуем отправить письмо с помощью PHP. [root /etc/mail ]# php -r "mail('ii343hbka@localhost', 'Test From Your-Site', 'T est Message from Sendmail by PHP');" [root /etc/mail ]# ls /var/mail/ii343hbka /var/mail/ii343hbka [root /etc/mail ]# cat /var/mail/ii343hbka From root@localhost Mon Oct 22 23:19:48 2012 Return-Path: <root@localhost> Received: from localhost (localhost [127.0.0.1]) by localhost (8.14.4/8.14.4/Debian-2.1) with ESMTP id q9MJJmrY001278 for <ii343hbka@localhost>; Mon, 22 Oct 2012 23:19:48 +0400 Received: (from root@localhost) by localhost (8.14.4/8.14.4/Submit) id q9MJJmmS032693; Mon, 22 Oct 2012 23:19:48 +0400 Date: Mon, 22 Oct 2012 23:19:48 +0400 From: root <root@localhost> Message-Id: <201210221919.q9MJJmmS032693@localhost> To: ii343hbka@localhost Subject: Test From Your-Site X-PHP-Originating-Script: 0:Command line code Content-Length: 35 Test Message from Sendmail by PHP