Voit tehdä www-sivuillesi kävijän täytettäviä lomakkeita. Lomakkeen lähettämien tietojen käsittelyyn voit käyttää apuna omaa skriptiä tai tässä kuvattua formmail.php –apuohjelmaa, joka käsittelee sille lähetetyn lomakkeen tiedot ja lähettää sen eteenpäin sähköpostilla.

Lataa formmail.php

Huom! Sähköpostin lähetys vaatii monilla vastaanottajilla SPF-tietueen lähetysosoitteen verkkotunnuksen nimipalvelimelle.

Asennus ja käyttö

Asenna formmail.php tiedosto www-sivujesi tarkoituksen mukaiseen hakemistoon (esim. public_html). Tämän jälkeen muokkaa tiedoston alussa olevat asetusmuuttujien arvot itsellesi sopiviksi (punaisella merkityt kohdat):

// Vastaanottajan email osoite / Recipient email address $mail_to = "etunimi.sukunimi@maili.tld"; 
// Osoite, johon ohjataan lähetyksen jälkeen / Web address to where user is redirected after form is sent $redirect = "http://www.sivusto.tld/kiitos.html"; 
// Osoite, johon ohjataan, jos kenttiä puuttuu / Web address to where user is redirected if fields are missing $return_error = "http://www.sivusto.tld/virhe.html"; 
// Ympäristömuuttujat, jotka haluat sähköpostiin (pilkulla erotettuna) / Environment variables you want to be included in the mail (separated by ,) $env_report = "REMOTE_ADDR,REMOTE_HOST"; 
// Lokitiedoston sijainti ja tiedostonimi / Log file path and filename $log_name = "formmail.log";

Sinulla on oltava jotkin sivut, joihin käyttäjä ohjataan kun lomakkeen lähetys onnistuu ja kun tulee virhetilanne puuttuvista tiedoista (yllä olevat muuttujat $redirect ja $return_error).

Tämän jälkeen tarvitset lomakesivun, jossa määrittelet tarvitsemasi lomakkeen kenttineen ja määrität sen formmail.php:n käsiteltäväksi. Lomakkeen HTML-koodi voi olla esimerkiksi seuraavanlainen yksinkertaistettuna:

<FORM ACTION="formmail.php" METHOD="post"> 
Teksti: <INPUT TYPE="text" NAME="teksti"> 
<!-- Tähän voit lisätä muita kenttiä --> 
Anna nimesi: <INPUT TYPE="text" NAME="nimi"> 
Anna sähköpostiosoitteesi: <INPUT TYPE="text" NAME="email"> <INPUT TYPE="hidden" NAME="required" VALUE="teksti"> 
<INPUT TYPE="hidden" NAME="subject" VALUE="Lomake"> <INPUT TYPE="submit" VALUE="Lähetä"> </FORM>

Kävijän sähköpostiosoite on kysyttävä muuttujaan “email”, jolloin lomakkeen lähettämä sähköposti näkyy suoraan kävijän lähettämänä. Muuttujalla ”required” määritellään lomakkeen pakolliset kentät (pilkulla eroteltuna), joita ilman lomakkeen tietoja ei lähetetä. ”subject” –muuttujassa määritellään sähköpostiin tuleva otsikko. Tämän voit myös halutessasi kysyä kävijältä. Voit tehdä lomakkeelle tarvitsemiasi muita kenttiä, jolloin nämä kentät tulevat automaattisesti lähetettävään sähköpostiin mukaan.

Muita käytettäviä ennalta määriteltyjä kenttiä:

realname = Henkilön oikea nimi, tulee lähetettävään sähköpostiin osoitteen yhteyteen

lang = Jos tarvitset lomakkeenkäsittelijän mahdolliset ilmoitukset englanniksi, lisää tämä kenttä hidden-tyyppisenä ja arvolla ”en” eli <INPUT TYPE=”hidden” NAME=”lang” VALUE=”en”>

Lomakekäsittelijän lokitiedosto

Lomakekäsittelijä kirjoittaa lokitiedostoa. Oletuksena lokitiedostoa kirjoitetaan siihen hakemistoon, jossa käsittelijä toimii tiedostonimellä formmail.log. Lokitiedoston sijainti ja tiedostonimi asetetaan em. asetuksissa. Jos käytät oletusasetusta tai muuten määrittelet tiedoston olevan sellaisessa hakemistossa, johon on pääsy webin kautta selaimella, on lokitiedosto syytä suojata ulkopuoliselta lataukselta. Tämä voidaan tehdä .htaccess –tiedostolla. Luo (tai editoi olemassa olevaa) .htaccess tiedosto hakemistoon, johon lokitiedosto kirjoitetaan ja lisää siihen rivit:

<Files "formmail.log">
Order allow,deny
Deny from all
</Files>

Tällöin tiedostoa ei voi nähdä selaimella.