smtpsend.exe
Назначение почтового агента smtpsend.exe — отправка исходящей почты по протоколу SMTP. Агент ориентирован на работу с одним заранее выбранным почтовым сервером — так же, как это делает обычная почтовая программа на компьютере пользователя. Как правило, выбирается почтовый сервер Интернет-провайдера — обычно он самый легкодоступный. Правда, для работы с ним обычно требуется следование некоторым требованиям (у каждого провайдера они обычно свои), если у Вас не получается удовлетворить этим требованиям, придётся выбрать либо другой почтовый сервер, либо другой способ доставки почты — с помощью агента smtpsend3.exe.Сообщения для отправки выбираются агентом из каталога mail\out. Smtpsend использует относительные пути к каталогам, поэтому требует, чтобы при его запуске текущим каталогом был каталог установки Eserv. Эту особенность можно использовать при необходимости поменять каталог очереди на отправку.
Как и другие агенты, smtpsend представляет собой консольное приложение и полностью управляется с помощью командной строки, различая следующие параметры или ключи:
-s сервер
С помощью ключа -s агенту передаётся имя или IP-адрес SMTP-сервера, которому передаются письма для дальнейшей обработки.
-p порт
Ключ -p используется для указания номера порта, на котором работает SMTP-сервер. Стандартное значение 25, на этом порту работают все общедоступные и подавляющее большинство корпоративных почтовых серверов. Причиной перевода сервера на нестандартный порт могут быть только соображения сугубой секретности. В этом случае Вам, как пользователю такого сервера, номер порта должен быть известен. Если же используется стандартный номер порта, то ключ -p можно не задавать.
-o файл
Ключ -o задаёт выходной файл для сохранения протокола работы агента. По умолчанию используется стандартный поток вывода, обычно связанный с консольным окном. Файл протокола никак не влияет на дальнейшее прохождение почты, так что его можно и не создавать, но желательно всё-таки сохранить — это существенно облегчает поиск неисправностей. При этом для каждого запуска агента следует задавать уникальное имя файла — тогда история отправки почты действительно сохраняется для последующего анализа. При вызове агента из Планировщика для генерации уникальных имён используются специальные макропараметры Eserv %TempFile% и %PrevTempFile%. Подробное описание этих и других параметров приведено в главе, посвящённой Планировщику.
-f файл
Ключ -f позволяет включить в отправляемые сообщения некоторую дополнительную информацию — например, подпись или рекламу. Содержимое указанного с помощью ключа файла включается в письмо после основного текста.
-ehlo
Протокол SMTP включает в себя обязательный ритуал взаимного представления передающей и принимающей стороны. Обычно агент в процессе представления использует команду HELO, относящуюся к базовым командам протокола SMTP. Её распознают все почтовые серверы, поэтому такой режим следует считать наиболее совместимым. Однако некоторые почтовые серверы последних версий (например, Exim) в случае использования команды HELO отказываются воспринимать расши-ренные команды протокола, в частности, команды авторизации. Если в командной строке агента указан ключ -ehlo, то для приветствия будет использована команда EHLO, явно указывающая на использование расширенных команд протокола SMTP.
-dial
По умолчанию smtpsend не предпринимает никаких дополнительных действий по установлению соединения с Интернетом — он немедленно пытается обратиться к заданному серверу. Если Вы подключены к всемирной сети по выделенной линии, больше ничего и не требуется. Если же Вы используете модемное подключение, то при отсутствии связи попытка отправки почты закончится неудачей. Можно, конечно, использовать эту особенность, чтобы не дёргать модем без надобности — когда соединение будет установлено для других целей, запущенный в это время агент воспользуется им и отправит почту по назначению. Однако желательно, чтобы почта обрабатывалась независимо от настроения пользователей — раз в несколько часов, даже раз в сутки, но накопившиеся письма необходимо отправить. Кроме того, может случиться так, что модемное соединение как было установлено "по щучьему велению", будет так же и разорвано до завершения отправки почты. При использовании ключа -dial агент обращается к серверу дозвона Eserv и запрашивает установку соединения, а по завершении сессии сообщает, что соединение более не нужно. Уменьшения же количества звонков к провайдеру при отсутствии активной работы в Интернете можно добиться тонкой настройкой задания в Планировщике.
-z
При грамотном выборе интервала запуска агента почтовая сессия успевает завершиться до очередного запуска. Но случается (обычно при модемном способе подключения по телефонным линиям низкого качества), что объём сообщений в очереди на отправку превышает некую критическую величину, и тогда агент запускается до того, как отработало предыдущее задание. Повторно запустившийся агент начнёт наперегонки с "предыдущим оратором" отправлять остающиеся сообщения, забирая дефицитную пропускную способность канала связи. Если сообщений много, то дело может дойти и до третьей, и до четвёртой копии, а в самом тяжёлом случае всё закончится либо полным истощением ресурсов системы с последующим повисанием, либо исчерпанием пропускной способности линии. Для предотвращения неприятностей можно использовать ключ -z — при его использовании smtpsend, обнаружив в момент запуска уже работающую копию, немедленно завершает работу.
-b
Ключ -b задаёт очень интересный режим работы агента — так называемый режим демона. При запуске с этим ключом smtpsend, отправив все имеющиеся письма, не завершает работу, а "засыпает", периодически проверяя каталог очереди mail\out, не появились ли там новые сообщения. Этот режим очень удобно использовать при подключении к Интернету по выделенной линии.
-r интервал
Интернет есть Интернет, техника иногда выходит из строя, программные настройки иногда сбиваются — может случиться, что немедленно отправить письмо не удастся. При возникновении ошибки агент оценивает ситуацию. Если ошибка вызвана нарушением требований владельца сервера (сервер "отказывается" принимать письмо к дальнейшей обработке, например, из-за несоответствия адреса отправителя), то письмо незамедлительно возвращается отправителю с указанием причины возврата. Если же ошибка относится к разряду временных (сервер не отвечает или же сообщает, что испытывает трудности в работе), письмо остаётся в очереди на отправку, и при следующем запуске smtpsend снова попытается его отослать. По умолчанию письмо хранится в очереди в течение трёх суток; если за это время его не удалось передать дальше, оно будет возвращено отправителю. Интервал ожидания можно увеличить или уменьшить с помощью ключа -r — его значение задаёт новый интервал ожидания, выраженный в сутках.
-to тайм-аут
Ключ -to задаёт время ожидания ответов от почтового сервера. Значение задаётся в секундах и по умолчанию составляет несколько минут — величина, как правило, вполне достаточная. Однако при работе на очень плохих линиях она может оказаться недостаточной, тогда можно задать значение побольше.
-ps сервер
Хорошо, когда SMTP-сервер доступен безо всяких ухищрений. Однако нередко случается и так, что провайдер предоставляет подключение только через прокси-сервер, а нужный почтовый сервер находится "по ту сторону". При этом далеко не всякий прокси-сервер способен обрабатывать протокол SMTP, и далеко не всякий провайдер использует такие "умные" программы. В таком случае единственная возможность добраться до нужного почтового сервера — использование протокола HTTPS. Ключ -ps используется для указания имени прокси-сервера провайдера.
-pp порт
При использовании прокси-сервера провайдера ключ -pp позволяет указать номер порта, на котором работает прокси-сервер. Значение по умолчанию 3128, большинство провайдерских прокси-серверов используют именно его.
-dd
По умолчанию агент записывает в выходной файл всю возможную информацию, включая сами почтовые сообщения. Хотя это и даёт хорошую оценку трафика, зато требует большого объёма дисковой памяти. С помощью ключа -dd можно для экономии места на диске отменить запись содержимого писем в файл протокола.
-ln число
Обычно smtpsend помещает в панель задач рядом с часами значок в виде конверта. Щелчок мыши по этому значку открывает окно, в котором видны все детали общения агента с почтовым сервером. Объём окна достаточно велик — 30000 строк. Для хранения такого количества информации требуется большой объём памяти, даже система иногда не выдерживает — при завершении работы агента в этом случае возникает программная ошибка. С помощью ключа -ln размер окна можно уменьшить до приемлемой величины.
-dw
Ключ -dw запрещает агенту создавать окно протокола и выводить значок в панель задач. Используйте его, если регулярное мелькание конвертов в панели задач раздражает Вас, а также при настройке специализированного сервера, работающего "вслепую". В конце концов, Вы ничего не теряете — вся информация записывается в выходной файл, который при должных настройках хранится достаточно долго, чтобы Вы при необходимости могли его найти и проанализировать.
Обычно почтовому серверу вполне достаточно адреса отправителя, адреса получателя и IP-адреса отправляющего компьютера, чтобы решить, допускать к обработке письмо или нет. Однако в некоторых случаях (последнее время довольно часто) провайдеры требуют авторизации на почтовом сервере не только для получения, но и для отправки почты. Следующая группа ключей предназначена для случаев работы с провайдерским почтовым сервером повышенной защищённости.
-u имя
Ключ -u задаёт имя пользователя в случае, если провайдерский почтовый сервер использует авторизацию SMTP.
-w пароль
Ключ -w используется совместно с ключом -u, если провайдерский почтовый сервер использует авторизацию SMTP, и задаёт пароль пользователя.
-pop сервер имя пароль
Авторизация непосредственно на сервере SMTP — режим сравнительно новый, не вполне устоявшийся и поддерживаемый не всеми почтовыми программами. Поэтому довольно часто встречается ситуация, когда для отправки почты надо пройти авторизацию на сервере POP3. Работа в таком режиме задаётся с помощью ключа -pop, в параметрах которого указываются имя или IP-адрес POP3-сервера, имя учётной записи пользователя и пароль.
Помимо "пакетного" режима — отправки всех сообщений, хранящихся в каталоге mail\out, с определением адресов отправителя и получателя непосредственно по содержимому письма, — smtpsend может работать в режиме SENDMAIL. Этот режим получил своё название по имени популярной в мире UNIX почтовой программы, способной работать одновременно и сервером, и клиентом. Режим клиента, управляемый ключами командной строки, довольно часто используется на различных web-сайтах для оперативной отправки извещений и подтверждений о выполнении каких-либо действий по запросу пользователя. В режиме SENDMAIL smtpsend отправляет одно-единственное письмо, используя в сочетании с описанными выше следующие ключи:
-from адрес
Ключ -from задаёт почтовый адрес отправителя.
-to адрес
Ключ -to задаёт почтовый адрес получателя.
-i файл
Ключ -i задаёт имя файла с сообщением. По умолчанию используется стандартный поток ввода — это очень удобно при автоматизации сайтов, поскольку позволяет обходиться без генерации промежуточных файлов. Сообщение должно иметь стандартный формат электронного письма, то есть содержать обязательный заголовок (от кого, кому, тема, дата) и заключительную строку, состоящую из одной точки и обозначающую конец сообщения.Вернуться к описанию почтового сервера
Вернуться к содержанию