Тестирование Sendmail
Для проверки работоспособности Sendmail можно использовать клиент
telnet (пример 29.26).
Пример 29.26. Тестирование Sendmail с помощью telnet |
$ telnet localhost 25 Trying 127.0.0.1...
Connected to localhost. Escape character is '^]'.
220 bblob.glott.com ESMTP Sendmail HELO localhost
250 bblob.glott.com
MAIL FROM: uitzgen@localhost
250 Ok
RCPT TO: robin@bobin.org
250 Ok DATA
354 End data with <CR><LF>.<CR><LF> Bolshoj Privet!
.
250 Ok: queued as 477E7919EE QUIT
221 Bye
Connection closed by foreign host.
В примере 29.26 воспроизведен процесс переговоров почтового клиента с сервером MTA Sendmail по протоколу SMTP.
Далее приведен список команд SMTP, которые часто используются при тес- тировании сервера:
r HELO — представление клиента SMTP-серверу;
r MAIL — определение отправителя сообщения;
r RCPT — определение получателя сообщения;
r DATA — определение начала сообщения;
r SEND — посылка сообщения непосредственно на терминал пользователя;
r RSET — сброс SMTP-соединения;
r VRFY — проверяет имя пользователя системы;
r EXPN — запрашивает список псевдонимов;
r HELP — запрашивает список команд;
r QUIT — выход из сеанса.
В примере после представления серверу HELO указано имя узла отправителя (клиентский узел). После фразы MAIL FROM: находится адрес отправителя. Фраза RCPT TO: указывает получателя. После команды DATA идет текст пись- ма, заканчивающийся одиночной точкой в строке. Команда QUIT завершает соединение.
Исключительно удобным инструментом для проверки работоспособности электронной почты является программа mail. Несмотря на минималистский пользовательский интерфейс, она обладает достаточными возможностями для отладки сервера SMTP.
Для отправки сообщения с помощью программы mail из командной строки достаточно выполнить команду, показанную в примере 29.27.
Пример 29.27. Отправка почты с помощью mail |
$ mail maximus@vergilius.it Subject: Filioque
Cc: Bcc:
End data with .
Текст послания.
.
Аргументом командной строки mail является почтовый адрес получателя письма. При этом пользователю будет предложено ввести тему письма после строки Subject:. Тему письма можно указать и после опции -s коман- ды mail. Приглашения Cc: и Bcc: позволяют ввести адрес получателя копии сообщения и получателя скрытой копии сообщения. Текст письма завершается одиночной точкой. Точка должна быть единственным символом в строке.
Для проверки поступления почты команду mail вызывают без аргументов. В таком режиме команда mail работает интерактивно, отображая заголов- ки полученных сообщений и их номера. Прочитать сообщение можно, введя его номер.
Далее приведен список основных команд интерактивного режима рабо- ты mail:
r ? — отображает краткую подсказку о командах;
r - — выводит предыдущее сообщение;
D + — выводит следующее сообщение;
r n — выводит следующее сообщение;
r ! — позволяет выполнить команду Shell;
r P — печатает сообщение вместе с заголовком;
r d — удаляет сообщение или несколько сообщений;
r u — снимает пометку на удаление;
r m — позволяет создавать и отправлять почту;
r r — отправляет ответ;
r s — сохраняет сообщение вместе с заголовком;
r w — сохраняет сообщение без заголовка;
r U — помечает сообщения как непрочитанные;
r x — выход без изменения почтового ящика;
r q — выход с записью изменений.
Текст письма можно передать команде mail через поток ввода (пример 29.28).
Пример 29.28. Передача тела письма через стандартный поток ввода |
ls *.txt | mail eji.class.edu
Здесь список файлов, выведенный командой ls *.txt, будет передан через конвейер команде mail, которая поместит его в тело сообщения и пошлет адресату.
Особенно полезно в процессе отладки работы сервера Sendmail бывает ис- пользовать команду mail с опцией –v (пример 29.29). Эта опция выводит све- дения о процессе передачи почты почтовому серверу для дальнейшей пере- дачи.
Пример 29.29. Режим подробного вывода информации mail |
$ mail -v emerald@susel.class.edu < text.c
emerald... Connecting to [127.0.0.1] via relay...
220 susel.class.edu ESMTP Sendmail 8.14.3;Sun, 31 Jan 2010 20:52:47 +0500
>>> EHLO susel.class.edu
250-susel.class.edu Hello localhost.localdomain [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH DIGEST-MD5 CRAM-MD5
250-DELIVERBY
250 HELP
>>> MAIL From:<emerald@susel.class.edu> SIZE=16 AUTH=emerald@susel.class.edu
250 2.1.0 <emerald@susel.class.edu>... Sender ok
>>> RCPT To:<emerald@susel.class.edu>
>>> DATA
250 2.1.5 <emerald@susel.class.edu>... Recipient ok
354 Enter mail, end with "." on a line by itself
>>> .
250 2.0.0 i72EqlMg001038 Message accepted for delivery emerald... Sent (i72EqlMg001038 Message accepted for delivery) Closing connection to [127.0.0.1]
>>> QUIT
221 2.0.0 susel.class.edu closing connection
Фактически использование -v заставляет команду mail выводить процесс переговоров клиентской программы mail и сервера sendmail.
Дата добавления: 2015-06-12; просмотров: 1097;