Активные документы: SSI+ - Server Side Includ
Технология создания активных документов SSI+ -- Server Side Includes
предложена фирмой Questar Microsystems.
Эту технологию поддерживают такие WWW сервера как
Apache, Netscape, Spry Web
и Microsoft Internet Information Server (MS IIS).
Поддержка этой технологии связана с специальной конфигурацией WWW сервера
и протокола HTTP.
Технология Server side includes (SSI) позволяет использовать в
HTML документах такие возможности как: опрос текущего времени и даты,
условного выполнения форматирования в зависимости от логических сравнений,
формировать запросы или модифицировать базы данных, посылать электронную
почту, вызывать программы или
CGI scripts.
Возможности технологии SSI+ задают механизм совместного использования
языка HTML и программ CGI Script.
Замечание: отметим, что различные сервера (например, Apache или MS IIS) немного поразному интерпретируют команды SSI.
Структура команд SSI+
Формат команды SSI+:
'<!--#<tag><variable set >-->'
где:
- '<!--#' начало обращения к SSI команде (tag).
- <tag> одна из следующих команд: 'echo',
'include', 'fsize', 'flastmod', 'exec', 'config',
'if', 'goto', 'label', 'break'
- <variable set> параметры (атрибуты) команды, значения которых
зависят от командой <tag>. Формат задания переменных такой же как и
формат задания атрибутов для команд языка HTML:
<variable name> '=' '"' variable
data '"' <variable name2> '=' '"' variable data2
'"' <variable name n> '=' '"' variable datan '"'
- '-->' конец обращения к SSI команде.
Отметим, что в отличии от обычных команд языка HTML для команд SSI+ задание значений
переменных-атрибутов должно обязательно заключаться в "двойные кавычки" (")
(для языка HTML значения атрибутов заключаются в двойные кавычки только в случае когда они
содержат служебные символы или пробелы).
Заметим, что если сервер не поддерживают режима работы SSI, то команды
SSI воспринимаются просто как комментарии и не выводятся на экран просмотрщика.
Чаcть команд SSI имеют подкоманды, управляющие их работой, например, команды
if, и exec. Формат подкоманды следующий:
'&&'<subtag>'&&'
где:
- '&&' зарезервированный символ для обозначения начала и конца подкоманды.
- <subtag> имя подкоманды.
Замечание о SSI документах
SSI+ документ по умолчанию имеет
суффикс (расширение) '.SHT' (для MS Windows) или '.SHTM'
(для UNIX систем) для их отличия от обычных HTML документов, которые имеют расширение '.HTM' или
.HTML соотвественно.
При конфигурации сервера можно объявить все документы как SSI, но это снижает
его эффективность, но не существенно.
Основные команды SSI+
'echo' |
Включение значений переменных окружения (CGI) в HTML документ.
|
'set' |
Установка значений переменной окружения.
|
'include' |
Включение файла в HTML документ.
|
'fsize' |
Включение размера файла в HTML документ.
|
'flastmod' |
Включение даты последней модификации файла в HTML документ.
|
'exec' |
Выполнение внешнего исполняемого файла (CGI программы).
Выходной поток данных (стандартный вывод) этой программы включается
в документ.
|
'config' |
Установка параметров для SSI+ команд.
|
'if' |
Условный оператор, управляющий выполнением других команд SSI
и вывода документа.
|
'goto' |
Оператор перехода на определенную SSI метку ('label').
|
'label' |
Метка в документе.
|
'break' |
Остановка вывода документа. |
Примеры использования SSI
'echo'
Включение значений
переменных окружения
в HTML документ. Команда echo имеет только один атрибут var
Пример:
Вы используете просмотрщик <!--#echo var="HTTP_USER_AGENT"-->
Если данный документ просматривается через просмотрщик
MS Internet Explorer 3.0 for Windows 95,
то эта команда даст следующий результат
Вы используете просмотрщик Mozilla/2.0 (compatible; MSIE 3.0; Windows 95)
А для просмотрщика, через который вы сейчас читаете этот текст, получим
Вы используете просмотрщик Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8) Gecko/20051107 Firefox/1.5
WWW сервер, который понимает технологию SSI, как правило, использует описанные ниже
переменные окружения. Кроме того, если на сервере разрешено выполнение исполняемых
модулей (CGI Script программы), то в документе могут быть использованы и
переменные окружения CGI.
- "DOCUMENT_NAME" локальное имя документа.
- "DOCUMENT_URI" локальный путь к документу от базовой директории WWW сервера.
- "QUERY_STRING_UNESCAPED" Строка, полученная от клиента, содержащая все
shell-special characters escaped with %
- "DATE_LOCAL" Текущая локальная дата и время.
- "DATE_GMT" Дата и время по Гринвичу (Greenwich).
- "LAST_MODIFIED" Дата последней модификации текущего документа.
- "REMOTE_ADDR" IP адрес удаленного клиента.
- "QUERY_STRING" Строка, полученная от клиента.
- "SERVER_SOFTWARE" Имя HTTP server software.
- "SERVER_NAME" Имя компьютера, на котором работает WWW сервер.
- "GATEWAY_INTERFACE" Имя и версия Common Gateway Interface served
WWW (HTTP) сервера (name/version).
- "SERVER_PROTOCOL" Имя и версия HTTP сервера (name/version).
- "SERVER_PORT" IP порт WWW (HTTP) сервера.
- "REQUEST_METHOD" Тип метода запроса к серверу.
- "PATH_INFO" Виртуальный путь, указанный в запросе (путь от
базовой директории WWW сервера).
- "PATH_TRANSLATED" Полный путь, указанный в запросе.
- "SCRIPT_NAME" Имя программы для выполнения в CGI запросе.
- "REMOTE_HOST" Имя компьютера удаленного клиента.
- "AUTH_TYPE" Переменная для определения авторизованного метода доступа
к серверу (authentication method).
- "REMOTE_USER" Имя пользователя для авторизованного метода доступа.
- "REMOTE_IDENT" Имя удаленного клиента, используемое для идентификации
пользователя, согласно спецификации RFC931.
- "CONTENT_TYPE" Тип передачи данных от клиента по методам
POST или
PUT.
- "CONTENT_LENGTH" Длина в байтах переданных данных по методам
POST или
PUT.
- "HTTP_ACCEPT" Список, разделенный запятыми,
MIME типов, понимаемых просмотрщиком клиента.
- "HTTP_USER_AGENT" Имя просмотрщика клиента (browser software).
- "HTTP_REFERER" ULR адрес HTML документа из которого сделан запрос клиентом.
- "HTTP_FROM" Имя (подобное имени Е-mail address) удаленного клиента.
- "HTTP_FORWARDED" Имя Proxy Server, через который общается клиент.
- "ACCEPT_LANGUGE" Список языков доступных для компьютера клиента.
- "HTTP_COOKIE" Содержание ответа клиента на запрос от сервера (см. ниже).
Пример.
Вызов документа ssi-var.html выводит значения всех перечисленных выше переменных.
Установка значения переменной окружения.
Параметры (атрибуты):
- var имя переменной окружения,
- value устанавливаемое значение.
Пример:
<!--#set var="category" value="help" -->
Установка переменных важна при передаче параметров динамическому ресурсу, вызываемому
командами include или exec, т.к. для системы они
являются дочерним процессом и переменные CGI для них не будут переданы.
'include'
По команде 'include' на место этой команды подставляется содержимое
файла, на который она указывает.
Команда имеет два параметра (атрибута):
- virtual для задания виртуального адреса (URL) ресурса на WWW сервере (ардес не должен содержать указания имя.машины:порт).
- file для задания абсолютного адреса файла на компьютере, на котором установлен WWW сервер (адрес не должен содержать указаний типа ../).
Пример:
<!--#include virtual="include.txt"-->
Далее между двумя горизонтальными чертами следут вставленный в документ
файл
include.txt из текущей директории.
Начало вставки
Данный текст вставлен в документ из файла
iclude.txt
Конец вставки
Вид файла
include.txt
Замечание: при задании адресов ресурсов можно использовать как полный путь к
ресурсу (на сервере) так и частичный.
Отметим, что используя команду include можно вставлять в документ и активные ресурсы (динамические страницы), обрабатываемые WWW сервером,
например, PHP скрипты или те же shtml файлы, при этом
перед вставкой (в отличие от ASP скриптов сервера MS IIS) сервер
произведет обработку этих ресурсов.
fsize
Вывод размера файла в документ.
Команда имеет два параметра-переменных:
- virtual для задания виртуального адреса (URL) ресурса на WWW сервере (ардес не должен содержать указания имя.машины:порт).
- file для задания абсолютного адреса файла на компьютере, на котором установлен WWW сервер (адрес не должен содержать указаний типа ../).
Пример:
<!--#fsize virtual="ssi.html"-->
Выдача размера файла, который вы в данный момент читаете:
Размер файла
ssi.html = 36k
Формат выдачи размера соотвествует установке сервера и может быть изменен командой
config.
Команда flastmod включает дату последней модификации файла.
Команда имеет два параметра-переменных:
- virtual для задания виртуального адреса (URL) ресурса на WWW сервере (ардес не должен содержать указания имя.машины:порт).
- file для задания абсолютного адреса файла на компьютере, на котором установлен WWW сервер (адрес не должен содержать указаний типа ../).
Пример:
<!--#flastmod virtual="ssi.html"-->
Включение даты последней модификации файла
'ssi.html' в документ:
Дата последней модификации файла
ssi.html =
Thursday, 11-May-2000 22:00:37 NOVST.
Формат выдачи даты и времени соотвествует установке сервера и может быть изменен командой
config.
Выполнение внешних программ и программ CGI Script.
Параметры:
- 'cmd' задание командной строки параметров для выполнения
UNIX shell исполняемых программ.
Формат командной строки:
cmd="<exename> <argument list>"
где: <exename> полное имя исполняемой программы или команды,
и <argument list> список аргументов, посылаемых исполняемой программе в командной строке.
Замечание: на сервере должны быть заданы пути к исполняемой программе в переменной окружения 'PATH'.
В случае отсутвия пути программу можно запустить, используя shell или
CGI Script.
Стандартный вывод программы направляется в HTML документ. Вывод может быть модифицирован
командой 'config..cmdecho'.
- 'cgi' вызов программы CGI Script.
Вызываемая программа должна находится в директории CGI-BIN WWW сервера или
иметь суффикс, например, .cgi, который задан для исполняемых программ в конфигурационном файле сервера (в директории, где находится программа должны быть разрешены Includes и ExecCGI. Формат команды:
cgi="<exename>"
где <exename> полное имя программы CGI Script.
Стандартный вывод программы подставляется в документ.
Команда config модифицирует вывод в HTML документ.
Параметры-атрибуты команды:
- 'errmsg' The errmsg variable is used to set the error
message that gets printed when the SSI+ engine encounters a parsing
error or unavailable required data. This variable is retained
for compatability with standard SSI, you may wish to use the onerr
variable instead.
- 'timefmt' Установка формата выдачи времемени в команде
echo..time SSI+ token output.
- 'sizefmt' The sizefmt variable is used to set the format
ofecho..size SSI+ token output.
- 'cmdecho' The cmdecho variable is used to set the output
option of subsequent exec..cmd tokens. The format is 'cmdecho'='"<onoroff>"'where
<onoroff> is either 'ON' or 'OFF'. When the
SSI+ parsing engine encounters an exec..cmd token it executes
the command. If the command returns output then that output may
be echoed into the HTML document or it may be ignored. The format
of the data echoed is dependent on the presence or absence of
config..cmdprefix and config..cmdpostfix tokens
in the document. In the absence of config..cmdprefix and
config..cmdpostfix tokens the output will be echoed exactly
as returned with no formatting and no special character interpretation.
In the presence of config..cmdprefix and/or config..cmdpostfix
tokens the output will be formatted and interpreted. To activate
echoing set cmdecho to 'ON' otherwise set it to 'OFF'.
The default is 'OFF'.
- 'cmdprefix' The cmdprefix variable is used to set the
string prefixed to each line out output from subsequent exec..cmd
tokens. The format is 'cmdprefix="'<string>"'where
<string> is any character string and/or HTML format tags.
When the SSI+ parsing engine encounters an exec..cmdtoken
it executes the command. If the command returns output then that
output may be echoed into the HTML document or it maybe ignored.
If the output is echoed (see 'cmdecho' above),then each
line output from the executable will be prefixed with the string
supplied before being echoed into the HTML document.
- 'cmdpostfix' The cmdpostfix variable is used to set
the string appended to the end of each line out output from subsequent
exec..cmd tokens. The format is 'cmdpostfix="'<string>"'where
<string> is any character string and/or HTML format tags.
When the SSI+ parsing engine encounters an exec..cmdtoken
it executes the command. If the command returns output then that
output may be echoed into the HTML document or it maybe ignored.
If the output is echoed (see 'cmdecho' above),then each
line output from the executable will be appended with the string
supplied before being echoed into the HTML document.
- 'onerr' The onerr variable is used to set the action
to be taken when the SSI+ engine encounters an error. The format
is 'onerr="'<action>"'where <action> is
one of the following tags.
- 'goto' causes a jump to a label token (see below).
The format of the goto tag is:
- 'goto' <label>
- where <label> is the name of a label defined in a subsequent
label tag (see below).
- 'print' causes text to be printed. The format of the
print tag is:
- 'print "'<text>"'
- where <text> is any HTML text or tag.
- 'error' causes the current config..error message
to be printed.
- 'break' causes termination of the HTML document transmission
to the client.
- 'errorbreak' causes the current config..error
message to be printed, and then causes termination of the HTML
document transmission to the client.
- 'printbreak' causes text to be printed, and then causes
termination of the HTML document transmission to the client. The
format of the printbreak tag is the same as the format of the
print tag.
Example. The following token on an HTML document sets the
SSI+ error message to '*** ERROR ***'. From this point on down
when an error occurs in the SSI+ parsing engine the message '***
ERROR ***'will be inserted into the HTML document at the location
of the offending SSI+ statement.
- <!--#config errmsg="*** ERROR ***" -->
Example. The following token on an HTML document sets the
SSI+ error action to print a message and terminate the document.
From this point on down when an error occurs in the SSI+ parsing
engine the message will be inserted into the HTML document at
the location of the offending SSI+ statement, and the document
will be terminated
- <!--#config onerr="printbreak "Sorry, we encountered
an error while processing your document."" -->
Example. Suppose you wish to create an HTML document that
performs a 'PING' operation on address '204.96.64.171' and then
echo the results back to the client browser, with each line echoed
as an element in an unnumbered list.
- Insert the following lines into your HTML document:
- <UL>
- <!--#config cmdecho="ON" -->
- <!--#config cmdprefix="<LI>" -->
- <!--#exec cmd="ping 204.96.64.171 -w 20000" -->
- </UL>
- When the document is accessed by a remote browser the output
would look something like this:
- Pinging 204.96.64.171 with 32 bytes of data:
- Reply from 204.96.64.171: bytes=32 time<10ms TTL=32
- Reply from 204.96.64.171: bytes=32 time<10ms TTL=32
- Reply from 204.96.64.171: bytes=32 time<10ms TTL=32
- Reply from 204.96.64.171: bytes=32 time<10ms TTL=32
The if tag provides for conditional execution of SSI operations,
and conditional printing of HTML text, based on logical comparisons.
The format of the if tag is :
'if' '"'<operand1>'"' <operator> '"'<operand2>'"'<operation>
where:
- <operand1> is the first operand of a logical comparison
statement
- <operand2> is the second operand of a logical comparison
statement
- <operator> is the logical comparison method ['==', '!=','<',
'>', '!<', '!>']
- <operation> is the action to take if the logical comparison
evaluates to TRUE ['goto', 'print', 'error', 'break', 'errorbreak',
'printbreak']
The operands may be any string or number (integer or floating
point). In the event that both operands are numbers the comparison
will be based on the value of the numbers. In the event that one
or both of the operands and not numbers, the comparison will be
based on the alphabetic order of the operands.
The special case of the NULL operand is defined by two quotes
with no characters between them. The NULL operand may used to
check for the existence of form data from the remote client (see
example below).
- The operator defines what kind of comparison is performed
on the operands:
- '==' The equalto operator evaluates to TRUE if the operands
are equal to each other.
- '!=' The notequalto operator evaluates to TRUE if the operands
are not equal to each other.
- '<' The lessthan operator evaluates to TRUE if operand1
is less than operand2.
- '>' The greaterthan operator evaluates to TRUE if operand1
is greater than operand2
- '!<' The notlessthan operator evaluates to TRUE if operand1
is not less than operand2
- '!>' The notgreaterthan operator evaluates to TRUE if operand1
is not greater than operand2
- 'hasstring' The hasstring operator returns TRUE is the text
string in operand2 is found in the operand1 string.
In the event that the logical comparison evaluates to FALSE, nothing
happens, If the logical comparison evaluates to TRUE then one
of the following operations may be performed:
- 'goto' causes a jump to a label token (see below).The
format of the goto tag is:
- 'goto' <label>
- where <label> is the name of a label defined in a subsequent
label tag (see below).
- 'print' causes text to be printed. The format of the print
tag is:
- 'print' <text>
- where <text> is any HTML text or tag.
- 'error' causes the current config..error message to
be printed.
- 'break' causes termination of the HTML document transmission
to the client.
- 'errorbreak' causes the current config..error message
to be printed, and then causes termination of the HTML document
transmission to the client.
- 'printbreak' causes text to be printed, and then causes termination
of the HTML document transmission to the client. The format of
the printbreak tag is the same as the format of the print tag.
Example. The following document fragment compares two numbers,
if the operands are not equal then a goto will jump to a label.
- <!--#if "10" != "20" goto testlabel-->
- <P>This should not print
- <!--#label ="testlabel" -->
- <P>This should print
Example. The following document fragment demonstrates conditional
execution based on data delivered from an HTML form. Suppose we
have two form datum called 'formdata1' and 'formdata2' and we
wish to compare them. The following document fragment compares
the two operands, if the operands are equal then a goto will jump
to a label. Otherwise the next line will print and the document
will terminate on a break token (see below).
- <!--#if "&&formdata1&&" == "&&formdata2&&"
goto testlabel -->
- <P>The operands are not equal.
- <!--#break -->
- <!--#label ="testlabel" -->
- <P>operands are equal.
Example. The following document fragment prints two different
statements depending on whether or not the client agent is NCSA
Mosaic.
- <!--#if "&&HTTP_USER_AGENT&&"
hasstring "Mosaic" goto mosaiclabel -->
- <P>You are not using Mosaic
- <!--#goto ="defaultlabel" -->
- <!--#label ="mosaiclabel" -->
- <P>You are using Mosaic
- <!--#label ="defaultlabel" -->
Example. Suppose we have a form with amongst other things
a field named "BOO" and we wish to make sure that the
remote client user enterted data into the "BOO" field
before submitting the form. The following document fragment checks
for the presence of data in the "BOO" field, if data
exists then nothing happens, if data does not exist then a message
will be displayed and the document will terminate.
- <!--#if "&&BOO&&" == ""
printbreak "<P>You must provide data for the BOO field,
please resubmit." -->
Команда goto оператор перехода на метку label.
Формат команды:
где <label> имя метки, определенное командой label.
Пример.
<!--#goto ="testlabel" -->
<P>This line will not print.
<!--#label ="testlabel" -->
<P>This line will print.
Замечание:
Между символами <!--#goto и знаком =
обязательно должен стоять пробел.
Команда label устанавливает метку в документе, которая используется командами
goto или if..goto
Формат команды:
<!--#label ="<label>"-->
где <label> строка из не более чем 51 символа без пробелов,
идентифицирующая место в документе.
Задание метки не влияет на форматирование документа.
Замечание:
Между символами <!--#label и знаком =
обязательно должен стоять пробел.
Команда break останавливает вывод документа как только встречается.
Пример. Следующий документ демонстрирует работу команды
break.
<P>This line will print.
<!--#break -->
<P>This line will not print because the document has
been truncated and transmission to the client is terminated.
Данные команды в настоящий момент не поддерживаются серверами Apache и MS IIS.
'odbc' |
Обращение к внешней ODBC СУБД.
|
'email' |
Отправка электронной почты или представление формы.
|
Notice! Due to some problems with the MS ODBC drivers we are phasing out the
support of the SSI+ ODBC tags. To impliment ODBC with WebQuest we are using CScript
with our WQODBC.DLL. For more information on CScript and ODBC, check out the Guestbook
tutorial. The SSI+ ODBC tags will not exist in WebQuest 3.0.
The odbc tag provides for querying and updating odbc databases.
Four variables are defined for the odbc token; 'debug', 'connect',
'statement', and 'format'.
'debug' variable
The debug variable is used to set the SSI+ engine into
debug mode. Debug mode provides diagnostics of a highly detailed
nature from both the SSI engine itself and the local ODBC engine.
Debug messages appear on the returned HTML document at the position
at which the errors occur. The debug variable should be used only
for development and must be removed before production. When the
debug variable is present a warning message will appear indicating
it's presence, this message is benign and will not affect any
other aspect of the SSI+ engine. The format of the debug variable
is : 'debug='"<debugstring>"' where;
- <debugstring> is any string and is reserved for future
use.
The connect variable is used to connect to a pre-existing
odbc data source, to allow for subsequent statement tag
operations on that data source. The format of the connect variable
is 'connect="'<datasource>','<username>','<password>'"'where
;
- <datasource> is the name odbc data source as defined
on the local system in the odbc configuration utility. CAUTION!
the account under which the server is run must be granted permission
to access the data source.
- <user name> is the name which to log into the data source.
- <password> is the password with which to access the
data source.
Example. To connect to a data source called 'odbcsht' as
user 'dufus' and password 'dorkboy', one would use the following
statement: <!--#odbc connect="odbcsht,dufus,dorkboy"-->.
'statement' variable
The statement variable is used to submit a Transact
SQL statement to the odbc data source. The format of a statement
variable is as follows: 'statement="'<SQLStatement>'"',where:
- <SQL Statement> is any Transact SQL statement
as defined in odbc and SQL reference text and help files.
Example. Suppose one wanted to query the 'CUSTOMERS' table
from the above connected 'odbcsht' database to return all rows
and display each row on a separate line. One may use the following
sequence of statements:
- Connect to the database with a connect token as described
above.
- Setup the output format with a statement token as described
below.
- Execute the query: <!--#odbc statement="SELECT NAME,
AGE, VISCOSITY FROM CUSTOMERS ORDER BY 3, 2, 1" -->
- Each row of the database will the be inserted into the HTML
page per the format statement as demonstrated below.
The format variable is used to provide a template for the
format of data that is returned from and odbc query. Use this
variable to set up the appearance of data that will be returned
from subsequent statement tag operations that return data
from a database (i.e. the SQL statement 'SELECT'). The format
of the format variable is 'format="'<cprintfstatement>'"'where;
- <cprintfstatement> is a standard C language printf format
string with the restriction of only allowing string (%s) insertions.
The user is referred to any C language text for a description
of this format. The number of instances of %s must be equal to
the number of fields selected in a the subsequent SQL SELECT statement
token.
Example. Suppose one wanted to query the 'CUSTOMERS' table
from the above connected 'odbcsht' database to display the columns
'name', 'age', and 'viscosity' with each row on a separate line.
One may use the following sequence of statements:
- Connect to the database with a connect token as described
above.
- Setup the output format: <!--#obdc format="<P>Thecustomer's
name is %s, and he is %s years old, he prefers a motor oil with
SPF %s viscosity" -->.
- Execute the query with a statement token as described
above.
- Each row of the database will the be inserted into the HTML
page per the format statement. For example if the database has
3 rows the HTML output would look something like this:
- Customer's name is Conan, and he is 29 years old, he prefers
a motor oil with SPF 15 viscosity
- Customer's name is Kevin, and he is 45 years old, he prefers
a motor oil with SPF 30 viscosity
- Customer's name is Alan, and he is 43 years old, he prefers
a motor oil with SPF 50 viscosity
'email'
Отправка электронной почты.
Пример:
<!--#email tohost="www.ict.nsk.su" message="Thanks for the HTML"
toaddress="www@www.ict.nsk.su" subject="The SSI"-->
При отработке данного примера будет отправлено электронное письмо
(e-mail), содержание которого задано
атрибутом message, по
адресу, определенному
атрибутом toaddress, если данный
адрес и host, заданный
атрибутом tohost (данный атрибут
может отсутствовать), реально существует.
The email tag provides for sending an Email whenever an
HTML page is accessed or an HTML form submitted. The nature of
the variables below is defined in RFC 733. The variables 'fromhost',
'tohost', 'fromaddress' and 'toaddress' are required, all others
are optional.
- 'debug' enables advanced diagnostics. This variable should
only be used during development. The format of this variable is
'debug=" '<OnOrOff>'"' where
- <OnOrOff> := 'ON' to enable debugging
- <OnOrOff> := 'OFF' to disable debugging, this is the
default action if the debug variable is omitted.
- 'fromhost' defines the name of the smtp host sending the mail.
- 'tohost' defines the name of the smtp host the mail will be
sent to.
- 'fromaddress' defines the email address from party.
- 'toaddress' defines the email address of the recipient party.
- 'message' defines the message body to be sent.
- 'subject' defines the subject field of the message to be sent.
- 'sender' defines the email address sending party.
- 'replyto' defines the email address to which replies should
be sent.
- 'cc' defines the courtesy copy email addresses.
- 'inreplyto' defines the inreplyto field of the message to
be sent.
- 'id' defines the id field of the message to be sent.
Example. The following document send an email with debugging
enabled. Supposewe have a form with datum : [First, Last, Middle
Initial, Company,Address1, Address2, City, State, Zip, Country,
Phone, Fax, Request,Urgency, ReplyMethod; Email, Subject, Message]
we may post thatform to an HTML document containing the following
fragment tosend an email.
- <!--#email debug="ON" fromhost="www.theworld.com"
tohost="mailbox.theworld.com" message="First -&&First&&,
Last - &&Last&&,MI- &&Middle Initial&&,
Company - &&Company&&, Address - &&Address1&&,
&&Address2&&, &&City&&, &&State&&,
&&Zip&&, &&Country&&, Phone -
&&Phone&&,Fax - &&Fax&&, Request
&&Urgency &&via&& ReplyMethod&&,
Message - &&Message&& "fromaddress="&&EMail&&"
toaddress="markw@mailbox.theworld.com" subject="WebMan
- &&Subject&&" sender="&&EMail&&
"replyto="&&EMail&&" cc="
" inreplyto="A WebMan Automated E-Mail" id="WebManEMail"
-->
Федотов А.М.
Введение в Internet
Документация по Интернет технологиям
09.07.2007 21:45