www.eserv.ru // Docs/Eserv/MailServer/SmtpSend

oldwiki /2003-11-12 05:17/ (v1)
Продукты и услуги Скачать Документация Купить Поддержка Форумы Партнёрам Статьи О компании
News
15.05.2012
Eserv504
15.05.2012
ActiveSync
01.04.2012
Eproxy508
25.03.2012
Eserv503
26.02.2012
Eserv502
08.02.2012
UMI.CMS
22.12.2011
Eserv431
20.12.2011
Eproxy507
15.11.2011
Eproxy506
19.09.2011
Eproxy505
08.09.2011
Eserv430
07.09.2011
Lightning
19.07.2011
PoweredBy
16.07.2011
IPv6
08.07.2011
Eproxy5beta1
17.06.2011
IPv6DNS
13.06.2011
IPv6Mail
21.03.2011
Eserv428
22.10.2010
Eserv426
22.10.2010
SSL
22.04.2010
Eserv423
20.04.2010
Eserv4WhatsNew
19.04.2010
EservLDAP
19.04.2010
EservDHCP
19.04.2010
EservRubricator
08.04.2010
EservDNS
08.04.2010
NSСI
08.04.2010
WPAD
27.03.2010
Eserv422
27.03.2010
Eserv4Docs
26.03.2010
Eserv4FAQ
21.03.2010
EservIrc
05.03.2010
Eserv421
05.03.2010
HttpProxy
02.03.2010
EservVideo
02.12.2009
Eserv4Wiki
02.12.2009
Eserv4acWEB
02.12.2009
PopPull
22.11.2009
PigMailPigProxy2/WhatsNew
22.11.2009
PigMail/WhatsNew
23.09.2009
FossilEservHowTo
22.09.2009
SourceCodeManagement
22.09.2009
FossilScm
16.09.2009
SendEmail
08.09.2009
RoundCube
07.05.2009
GitScm
07.05.2009
GitEservHowTo
06.05.2009
SunBird

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 задаёт имя файла с сообщением. По умолчанию используется стандартный поток ввода — это очень удобно при автоматизации сайтов, поскольку позволяет обходиться без генерации промежуточных файлов. Сообщение должно иметь стандартный формат электронного письма, то есть содержать обязательный заголовок (от кого, кому, тема, дата) и заключительную строку, состоящую из одной точки и обозначающую конец сообщения.

Вернуться к описанию почтового сервера
Вернуться к содержанию
Работает на Eserv/7.0.beta1/Linux/arm64 (Dec 25 2023)