Formmail - odesílání formulářů na email
Domovský adresář uživatele * Výchozí struktura souborů * Účel adresářů * /cgi-bin * /www * /stats * Kam se soubory 
 
1. Úvod 
      Jedním z vestavěných skriptů je kom_formmail,
stejně jako ostatní vestavěné skripty, ani tento se nezobrazuje ve vašem
cgi-bin adresáři, ale můžete jej volat jakoby tam byl. 
      kom_formmail je určen k odesílání emailů 
formulářem, přičemž všechny proměnné začínající řetězcem "prom_" budou
přidány do těla zprávy. Kom_formmail tedy můžete použít jak k odeslání dat z
formuláře na svůj email, tak jako "mejlovací
portál".
  
      Jako odezvu na odeslání dat můžete:  
- přesměrovat uživatele na libovolnou stránku internetu, 
- vrátit mu vámi připravenou odpověď, umožňující vkládat odeslané údaje, 
- vrátit uživateli výchozí odpověď. 
 
      Upozornění: Nepoužívejte kom_formmail nečestným způsobem,
například k odesílání spamu, nebo utajení totožnosti. Veškerá činnost
kom_formmailu je zaznamenávána a bez ohledu na to jakou hodnotu vyplníte
do políček From a Replay-To, víme čí stránka který email odeslala.
Uchovávány jsou tyto údaje: From, To, čas, vlastník procesu.
  
 
2. Parametry 
Povinné parametry:
- /cgi-bin/kom_formmail cesta ke skriptu, u
formulářů obsah parametru "action".
  
- To emailová adresa příjemce zprávy
  
- From emailová adresa odesílatele
zprávy
 
  
 
Nepovinné parametry:
- Replay_To na jakou emailovou adresu se má
poslat odpověď na tuto zprávu, po stisku tlačítka "Odpovědět"
("Replay") v emailovém klientu. Není-li hodnota uvedena,
použije se údaj z From.
  
- Subject předmět zprávy
  
- Text text zprávy
  
- prom_[cokoliv] proměnná, jejíž hodnota se má připojit k
textu zprávy.
 
  
 
Parametry pro následné události:
- page adresa textového souboru, který se
použije jako HTML soubor vrácený prohlížeči po odeslání dat. Tento
soubor musí být ve vašem domovském adresáři. Nemusí být v podadresáři
/www. Vyskytuje-li se v něm název proměnné odeslané formulářem, před
nímž je uveden znak $, potom dojde k náhradě hodnotou této proměnné.
Například použití $Subject způsobí vložení předmětu odeslaného formuláře 
atd. Tato volba má přednost, před volbou redir, jsou-li použity obě,
vykoná se pouze page.
  
- redir internetová stránka, na
kterou má být uživatel přesměrován po odeslání formuláře.
 
  
 
 
3. Příklad 1 - Odeslání emailové adresy uživatele na váš email. 
      Občas mají návštěvníci vašeho webu motivaci poslat
svoji emailovou adresu. Například, pokud si přejete zaslat jim zprávu o
aktualizaci vaší stránky. 
      Stejně se rozhodl postupovat administrátor magazínu 
pyramia.kom.cz, kde se nové články objevují velmi zřídka. Pro úzké 
zaměření webu, je pro návštěvníky zajímavé, dostat zprávu o vložení nového 
článku. Pozn.: skutečné řešení na pyramia.kom.cz je jiné, z toho důvodu,
že magazín vznikl asi 5 let před touto webhostingovou službou.
  
 
| 
      Za pomocí níže uvedeného zdrojového kódu, vložil do
stránky tento formulář. Chce aby se po jeho odeslání zobrazila uživateli
administrátorem definovaná stránka. Tuto stránku uložil do adresáře ~/odpovedi/, který 
si pro tuto příležitost vytvořil a pojmenoval ji aktualizace.txt.
 | 
 |   
Zdrojový kód formuláře vloženého do stránky 
<FORM action="/cgi-bin/kom_formmail" method="POST"> 
<table cellpadding=3 border=1 align="center"><tr><td bgcolor="#dddddd" align="center"> 
<small>Pokud chcete dostávat oznámení o <br>nových článcích, zadejte svůj email:</small><br> 
<INPUT type=hidden name="to" value="admin@pyramida.kom.cz">  
<INPUT type=hidden name="from" value="admin@pyramida.kom.cz">  
<INPUT type=hidden name="subject" value="aktualizace pyramidy">  
<INPUT type=text name="prom_email" value="@"> 
<input type=hidden name="page" value="odpovedi/aktualizace.txt"> 
<INPUT type=submit value="Odeslat">  
</td></tr></table> 
</FORM> 
 |   
 
Obsah souboru ~/odpovedi/aktualizace.txt 
<html> 
<body> 
Děkujeme vám za zájem o naše sídlo. Oznámení o vložení nového<br> 
článku budete dostávat na adresu $prom_email. 
</body> 
</html> 
 |   
 
      Použití $prom_email v definici odpovědní stránky
způsobí vložení zadané emailové adresy. Pokud například někdo zadá
adresu navstevnik@odnekud.z.cz, potom se mu po stisku tlačítka zobrazí
stránka:
Následná událost 
Děkujeme vám za zájem o naše sídlo. Oznámení o vložení nového 
článku budete dostávat na adresu navstevnik@odnekud.z.cz. 
 |   
 
      A administrátor obdrží takovýto email:
Email 
From: admin@pyramida.kom.cz 
To: admin@pyramida.kom.cz 
Subject: aktualizace pyramidy 
=======Data======= 
email => navstevnik@odnekud.z.cz
 |   
 
 
 
4. Příklad 2 - Odeslání dat z formuláře na váš email. 
      V části věnované autoodpovídačům, jsme si vytvořili
systém automatických odpovědí zasílaných emailem pro firmu vyrábějící
vzduchové bubliny. Zákazník se prokousal našimi emaily, navštívil
firemní stránku a teď by rád znal konkrétní cenovou nabídku pro své
vysněné bubliny. Aby nám nemusel pracně popisovat co chce, ale i proto,
abychom mohli na naší straně tento proces dále automatizovat, vytvořili
jsme pro potenciální zákazníky jednoduchý formulář. Ten bude sloužit k
tomu, aby zákazník definoval svá kriteria, která nám budou po stitsku 
tlačítka zaslána na email. 
      Správce webového sídla bublinárny měl připravenu
hezkou odpovědní stránku, která zrekapitulovala zákazníkova přání,
poděkovala mu a přislíbila brzkou odpověď. Vedení firmy však rozhodlo,
že má být zákazník ihned po odeslání formuláře přesměrován na adresu
http://vtipy.kom.cz.
 
Zdrojový kód formuláře vloženého do stránky 
<FORM action="/cgi-bin/kom_formmail" method="POST">
<INPUT type=hidden name="To" value="prodej@bublinarna.kom.cz"> 
<INPUT type=hidden name="From" value="prodej@bublinarna.kom.cz"> 
<INPUT type=hidden name="Subject" value="Cenova nabidka"> 
<table cellpadding=3 border=1 cellspacing=1 align="center">
<tr><td bgcolor="#dddddd" align="center">
<table>
 <tr>
	<td><b>položka</b></td>
	<td><b>jednotka</b></td>
	<td><b>max</b></td>
	<td><b>požadavek</b></td>
 </tr>
 <tr align="center">
	<td align="left">barva kapaliny </td>
	<td> - </td>
	<td> - </td>
	<td> 
	<INPUT type=text name="prom_barva" value="" size="10">
	</td>
 </tr>
 <tr align="center">
	<td align="left">počet bublin na 1 cm<sup>3</sup> </td>
	<td> ks </td>
	<td> 1 </td>
	<td>  
	<INPUT type=text name="prom_hustota" value="" size="3">
	</td>
 </tr>
 <tr align="center">
	<td align="left">materiál bublin (druh vzduchu) </td>
	<td> - </td>
	<td> - </td>
	<td>  
	<INPUT type=text name="prom_matros" value="" size="10">
	</td>
 </tr>
 <tr align="center">
	<td align="left">objem jedné plechovky </td>
	<td> l </td>
	<td> 653 </td>
	<td>  
	<INPUT type=text name="prom_objem" value="" size="3">
	</td>
 </tr>
 <tr align="center">
	<td align="left">počet plechovek </td>
	<td> ks (min.!) </td>
	<td> 1 000 000 </td>
	<td>  
	<INPUT type=text name="prom_pocet" value="" size="3">
	</td>
 </tr>
 <tr align="center">
	<td align="left">způsob dodávky </td>
	<td> - </td>
	<td> - </td>
	<td>  
	<INPUT type=text name="prom_transport" value="" size="10">
	</td>
 </tr>
 <tr align="center">
	<td colspan="4" align="left"> Vaše emailová adresa:  
	<INPUT type=text name="prom_email" value="" size="40">
	</td>
 </tr>
 <tr align="center">
	<td colspan="4" align="left"> Poznámka  
	<TEXTAREA name="prom_zzzpoznamka" rows="5" cols="50"></TEXTAREA>
	</td>
 </tr>
 <tr align="center">
	<td colspan="4">  
	<INPUT type=submit value="Chci cenovou nabídku">
	</td>
 </tr>
 </table>
 <INPUT type=hidden name="redir" value="vtipy.kom.cz"> 
</td></tr></table>
</FORM>
 
 |   
 
      Proměnná pro poznámku by se určitě měla správně
jmenovat spíše $prom_poznamka, než-li $prom_zzzpoznamka.
Důvod, který nás vedl k tomuto názvu spočívá v tom, že kom_formmail řadí
odeslaná data abecedně. A my chceme mít jistotu, že poznámka bude úplně
na konci. Je to z rize praktických důvodů, kvůli dalšímu automatickému
zpracování. Jsme jediná bublinárna v této hvězdné soustavě a tak nás
názory zákazníků nezajímají, tyto poznámky jsou při automatickém
zpracovávání ihned vyřazovány a nikdo je nečte :-) Do formuláře jsme je
dali jen proto, aby si zákazník myslel, že nás jeho názor zajímá ;-)
(Pozn.: Toto platí jen o fiktivní, neexistující firmě na výrobu bublin,
rozhodně takový postoj nemáme v kom.cz !!!)
 
 
5. Příklad 3 - Odeslání emailu přes web. 
       
       
       
 
 
 
 
 
  
		 |