Несколько способов отправить электронную почту без почтовых клиентов

Несколько способов отправить EMail без использования почтовых клиентов

Отправка электронной почты обычно происходит из каких-нибудь программ, так называемых почтовых клиентов, к примеру Microsoft Outlook. Иногда встаёт задача, посылать сообщения не используя почтовых клиентов.

Отправка электронной почты обычно происходит из каких-нибудь программ, так называемых почтовых клиентов, к примеру Microsoft Outlook. Иногда встаёт задача, посылать сообщения не используя почтовых клиентов.

В данной статье, будет рассказано о нескольких способах посылки сообщений без использования каких-либо локальных клиентов. Многие администраторы, при настройке того или иного почтового сервера, в качестве теста используют возможность посылки сообщений прямо через Telnet. Вы также можете послать электронную почту из VBS script или используя ASP код (code). Также есть несколько довольно известных программ, такие как MAPISend и очень популярный файл, под интересным названием Blat :), которые позволяют посылать электронную почту из командной строки (command line). Рассмотрим более подробно несколько возможных вариантов..
Pickup Directory

Это наверное простейший способ посылки электронной почты не используя никаких дополнительных клиентов. Базируется он на описание формата стандартного почтового сообщения, описанного в RFC 822. Хочу заметить, что данный способ был проверен на SMTP, входящем в стандартную установку Windows 2000 или 2003. Всё, что надо сделать, создать текстовый файл в нужном формате и положить этот файл в Pickup директорию на вашем SMTP сервере. Как только файл попадёт в эту директорию, он будет отправлен адресату. Когда вы устанавливаете SMTP service на Windows 2000 или 2003 сервер, создаётся директория Pickup в C:InetpubMailroot. Посмотрим на пример.

Date: 27 Nov 2005 0852 GMT
To: “Тех. Поддержка” @email
From: «Пелекан” @email
Subject: Спасибо за помощь

Добрый день,

Хочу сказать большое спасибо за Вашу помощь нашему Проекту, N-Admin.com.

Пелекан

Теперь сохраним наше сообщение в текстовом файле и поместим его (файл) в Pickup директорию. Результат… На адрес получателя будет отправлено почтовое сообщение. Имя файла не имеет значение, так как сразу же после отправки, файл будет удалён. Самое интересное, что вы даже можете использовать HTML code в вашем письме. Использование HTML требует, что бы был указана MIME версия, content type и encoding. Вот пример:

Date: 27 Nov 2005 0852 GMT
To: “Тех. Поддержка” @email
From: «Пелекан” @email
Subject: Спасибо за помощь
MIME-Version: 1.0
Content-Type: text/html; charset=”windows-1251”
Content-Transfer-Encoding: quoted-printable

Добрый день,

Хочу сказать большое спасибо за Вашу помощь нашему Проекту, N-Admin.com.

Пелекан

Если вы сделали всё правильно, то адресат получит от вас электронную почту. Если же, что то не правильно, то ищите свой файл в директории Badmail.
MAPISend и Blat

MAPISend.exe файл, который запускается в command line. Файл находится в Exchange Server 2000 Resource Kit. Вы можете использовать MAPISend для подключения к mailbox, расположенному на Exchange server, и посылки email сообщения. Есть несколько основных ключей, которые необходимо использовать при работе с MAPISend.exe.

* -u используется для определения профайла
* -r определяется e-mail адрес куда надо отправить сообщение
* -s определяется subject (тема) e-mail сообщения
* -m определяется само e-mail сообщение

Для того, что бы MAPISend работал, MAPI profile должен быть создан компьютере, с которого отправляется e-mail. Пример:

C:> MAPISend –u “Exchange Profile” –r @email –s “Спасибо за помощь” –m
“Добрый день, Хочу сказать большое спасибо за Вашу помощь нашему Проекту, N-Admin.com. Пелекан”

Если у вас нет Exchange Server 2000 Resource Kit, и вы не знаете где это взять :), то есть ещё один вариант, называемый Blat. Наверное программер, который писал эту программку, очень хорошо знал русский язык :). Blat это бесплатная, command line, SMTP mailer программа, по своей функциональности, Blat очень похож на MAPISend, но Blat не требует наличие mail profil-а на компьютере. Несколько важных ключей, необходимых для работы:

* -t определяет e-mail адрес отправителя
* -r определяет e-mail адрес получателя
* -subject Определяется тема сообщения (subject)

Огромная разница между MAPISend и Blat, в том, что тело самого сообщение которое отправляется через Blat, берётся из текстового файла. Пример использования:

C:> Blat.exe body.txt –t @email –subject “Спасибо за помощь”

Отправка электронной почты через Telnet

Знание того, как посылать SMTP команды через telnet не раз помогали мне сэкономить немало времени при тестировании firewall-ов и проверки почтовых серверов, к примеру на Open Relay. Все знают, что Open Relays не самое лучшее, что есть в этой жизни. Спамеры спят и видят, где бы найти почтовый сервер с открытым open relay. И если ваш почтовый сервер достаточно долго будет работать как open relay, то есть все шансы, что вы очень быстро попадёте в чёрный список и вашу почту многие майл сервера будут просто игнорировать. А вот вытащить ваш почтовый сервер из чёрного списка довольно трудно.

Для того, что бы посылать e-mail сообщения через telnet необходимо знать несколько вещей, а именно IP адрес почтового сервера или его полное имя (fully qualified domain name), номер порта на котором работает SMTP (обычно это TCP 25) ну и конечно же, несколько SMTP команд. Давайте рассмотрим пример. Для подключения набираем следующую команду:

C:> telnet mail.domain.com 25

Вы должны получить, что-то похожее:

220 mail.n-admin.com ESMTP Server X1

Теперь надо «поздороваться» с сервером. Делается это командой ehlo. Сервер должен ответить сообщением похожим на это:

250-mail.n-admin.com says hello
250-SIZE 0
250-8BITMIME
250-DSN
250-ETRN
250-AUTH LOGIN CRAM-MD5
250-AUTH=LOGIN
250 EXPN

Есть необходимость сказать серверу от какого имени должно быть отослано сообщение. Делается это вот так:

mail from: @email.ru

Если вы имеете нужные права, то вы должны увидеть: 250 ok.

Чтобы сказать серверу кому должно быть отослано ваше сообщение, набираем:

rcpt to: @email.ru

и получаем следующее сообщение:

250 ok its for @email.ru

Для того, что бы начать вводить текст вашего сообщения, набираем команду:

data

Сервер должен сказать, что то похожее на это:

354 ok, send it; end with <CRLF>.<CRLF>

Теперь вводим наше сообщение:

Добрый день, Хочу сказать большое спасибо за Вашу помощь нашему Проекту, N-Admin.com. Пелекан.

Чтобы отослать сообщение, надо поставить точку в самом конце вашего сообщения. Причём, обратите внимание, что финальная точка стоит на новой строке. Если всё ОК, то вы должны получить сообщение:

250 Message queued

Многие администраторы, из соображений безопасности, выключают возможность работы с почтовым сервером через Telnet, так, что имейте это ввиду.
Отправка электронной почты через ASP и CDONTS

Существует множество способов для отсылки сообщении используя VBS script. Если на Вашем компьютере установлен Outlook, то можно послать e-mail через MAPI. С другой стороны, если вы имеете SMTP service компонент установлен на IIS, можно воспользоваться объектом CDONTS.NewMail. Collaboration Data Objects для Windows NT Server (CDONTS) присутствует на всех версиях IIS, за исключением IIS 5.1 в Windows XP.

Используя CDONTS и небольшой ASP, можно легко посылать e-mail сообщения прямо с веб страницы (webpage). Вот небольшой пример:

‘Dim variable for the CDONTS NewMail Object
Dim objCDONTSMail

‘Create the e-mail server object
Set objCDONTSMail = Server.CreateObject(«CDONTS.NewMail»)

‘Specify who the message is from
objCDONTSMail.From = «@email.ru»

‘Specify who the message is being sent to
objCDONTSMail.To = «@email.ru»

‘Specify the subject of the message
objCDONTSMail.Subject = «Спасибо за помощь»

‘Specify the message format (0=HTML 1=Text)
objCDONTSMail.BodyFormat = 0

‘Specify the message format (0=MIME 1=Text)
objCDONTSMail.MailFormat = 0

‘Specify the Message body contents
objCDONTSMail.Body = »
Hi Fred

Добрый день, Хочу сказать большое спасибо за Вашу помощь нашему Проекту, N-

Admin.com.

Пелекан»

‘Send the message
objCDONTSMail.Send

‘Close the server object
Set objCDONTSMail = Nothing

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

всё о почтовых и курьерских услугах