IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Руководство для новичков (http://www.imho.ws/forumdisplay.php?f=35)
-   -   переправить e-mail (http://www.imho.ws/showthread.php?t=86539)

Laid 29.05.2005 01:47

переправить e-mail
 
на ящик (1) пришло несколько весомых писем. забирать с ящика (1) их не хочу. А хочу, не забирая, отправить на другой (2) почтовый ящик, где их можно будет положить в резервную папку хранения. К настоящему (1)ящику сейчас есть только поп и смтп доступы. Как это можно сделать?

killhunter 29.05.2005 02:24

Попробуй Telnet

Отправка почты
Для отправки почты служит протокол smtp (simple mail trаnsfer protocol). Соответственно его поддерживают почтовые сервера. То есть, чтобы использовать его, необходимо для начала подсоединиться к такому серверу. Для этого нам необходимо знать адрес сервера. Где брать адреса smtp-серверов будет описано в следующих статьях, но в принципе это необязательно, достаточно знать хоть один стабильно работающий сервер (например: smtp.mail.ru). Стандартный порт smtp-сервера: 25.

Вот и все. Известна вся необходимая информация, можно подсоединяться... Для этого как многие уже догадались, будем использовать программу Telnet.

Программа Telnet входит в поставку всех операционных систем которые поддерживают tcp/ip. Так что будьте уверены - она у вас есть.
Для пользователей Windows: Start(Пуск)->Run(Выполнить).
В окошке набираем: telnet smtp.mail.ru 25
Должна запуститься программа и сразу подсоединиться к серверу. Об удачном подключении будет свидетельствовать сообщение от сервера (что-нибудь в таком роде):

220 mx7.port.ru ESMTP MAIL.RU Mon, 2 Apr 2001 03:56:38 +0400

Это сообщение говорит нам что сервер готов к работе. Теперь можно вводить команды.
Для начала можно ввести команду HELP. На эту команду сервер ответит:

214-Commands supported:
214- HELO EHLO MAIL RCPT DATA
214 NOOP QUIT RSET HELP

Как вы догадались - это список команд, которые поддерживает сервер. Теперь разберемся, что делает каждая из них. Сделаем это на примере отправки сообщения.

Для начала нужно представиться серверу, набираем команду HELO [domain]. Domain - это имя домена, но для нас это непринципиально, вместо domain пишем все что угодно:

HELO 12345

ответ сервера:

250 mx7.port.ru Hello dialup16-45.iptelecom.net.ua [212.9.229.237]

Обратите внимание: сервер показал нам наше имя хоста и ip-адрес (dialup16-45.iptelecom.net.ua [212.9.229.237]). Эта информация потом будет добавлена в заголовок письма и получатель письма если его заинтересует дополнительная информация может запросто увидеть ее, заглянув в свойства письма. В следующих статьях будут описаны различные способы скрытия или подделки ip-адреса. А сейчас продолжим... Следующая команда - MAIL, эта команда обязательна, используем ее для указания адреса отправителя. Синтаксис:

MAIL FROM: siraxxx@mail.ru

ответ сервера:

250 <siraxxx@mail.ru> is syntactically correct

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

RCPT TO: siraxxx@mail.ru

ответ сервера:

250 <siraxxx@mail.ru> verified

Как видите, я указал свой собственный адрес, т.е. письмо, прейдет мне. Я вам рекомендую сделать также, тогда вы будете уверены, что все сделали правильно - после того, как получите свое собственное сообщение. Я имею ввиду что для проверки указывайте свой почтовый адрес, а не мой :), это я к тому, что я уже получил достаточно тестовых писем на свой адрес, отправленых по приведенной здесь схеме :).

И последняя основная команда:

DATA

ответ сервера:

354 Enter message, ending with "." on a line by itself

Это вход в режим набора письма. Здесь действуют другие законы, здесь нельзя вводить команды smtp. чтобы закончить ввод и выйти обратно в командный режим, нужно нажать [Enter] (перейти на новую строку), набрать символ [.] (просто ввести точку без скобок) и опять нажать [Enter]. Проще говоря, конец письма - это ввод точки с новой строки.

А теперь о теле письма.
Можно конечно сразу после входа в режим набора сообщения, начинать набирать текст. Но не спешите, такое сообщение будет даже без поля Subject (то есть без темы). Хотя знать стоит только об одном поле: [reply-to].
После того как вы набрали команду DATA, не спешите набирать текст сообщения, а для начала укажите поле reply-to:

reply-to: dr_stark@chat.ru

Зачем это поле?
Дело в том, что это поле не команда smtp, а просто сообщение для почтового клиента (так сказать вспомогательная информация, типа того же subject). Многие почтовые клиенты показывают в пришедшем письме только адрес отправителя указанный командой [mail from] а адрес указанный в поле [reply-to] не показывает. Но если ответить на такое сообщение (например: нажать кнопку ответить) ответ пойдет по адресу указанному в поле [reply-to]

Дополнительная информация.
Если вы хотите, чтобы в отправленных вами письмах присутствовала "тема", то после ввода поля [reply-to], введите поле [subject].

subject: subj of message

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

250 OK id=11oivl-0000hm-00

Теперь можно ввести еще сообщения или отключиться, набрав команду QUIT.

Итого: как все это выглядит на экране Telnet-а (синий - ответы сервера, зеленый - ручной ввод):

220 mx7.port.ru ESMTP MAIL.RU Mon, 2 Apr 2001 03:56:38 +0400
HELP
214-Commands supported:
214- HELO EHLO MAIL RCPT DATA
214 NOOP QUIT RSET HELP
HELO 12345
250 mx7.port.ru Hello dialup16-45.iptelecom.net.ua [212.9.229.237]
MAIL FROM: siraxxx@mail.ru
250 is syntactically correct
RCPT TO: siraxxx@mail.ru
250 verified
DATA
354 Enter message, ending with "." on a line by itself
reply-to: dr_stark@chat.ru
subject: subj of message
this message content line1
content line2
.
250 OK id=14oivl-0000hm-00
QUIT
221 mx7.port.ru closing connection

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

Примечание. В основной своей массе smtp-серверы настроены на отправку сообщений только "своим" пользователям и не хотят отсылать незнакомым. Можно найти серверы, которые принимают сообщения для всех адресов.
Догадаться какой адрес smtp-сервера можно по e-mail адресу. Например, вам нужно отослать сообщение на адрес generaldirector@company.com, то вам следует воспользоваться smtp-сервером с адресом smtp.company.com или mail.company.com или просто company.com

Но как сам почтовый сервер узнает, куда следует слать письмо? Информация о маршрутизации почты храниться на DNS-среверах, "извлечь" эту информацию можно с помощью какой-нибудь утилиты, которая показывает MX-записи домена, например nslookup (входит в стандартную поставку unix-ов и Windows NT/2000)

Laid 29.05.2005 03:39

насколько понял, так можно отправить новое текстовое письмо. А как переправить то письмо, которое лежит в ящике, не принимая его себе?

Borland 29.05.2005 13:59

Цитата:

Laid:
А как переправить то письмо, которое лежит в ящике, не принимая его себе?
Никак, если сервер не поддерживает IMAP либо WEB-интерфейс. Связка POP3+SMTP не даёт возможности пересылки писем без их приёма с сервера и последующей отправки на новый адрес.
killhunter
Не знаю, где Ты откопал эту инструкцию, но к обсуждаемому вопросу она не имеет ровно никакого отношения. И к тому же - в инструкции отсутствуют какие-либо сведения об авторизации (а без авторизации сейчас не пустит ни один почтовый сервер вообще).


Часовой пояс GMT +4, время: 07:58.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.