Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Palautteen lähetyksen jälkeen uusi sivu

Sivun loppuun

Rocceri [08.03.2009 16:26:05]

#

Terve

Sivuillani on tämmöinen pienimuotoinen yhteydenotto sivu.
Koodia:

<FORM METHOD="POST"
ACTION="mailto:osoite@palvelin.fi">
<table width="400" border="0" align="center">
<tr>
  <td>Nimi:<br><input type="text" name="nimi" size="60"></td>
</tr>

<tr>
  <td>E-mail:<br><input type="text" name="email" size="60"></td>
</tr>

<tr>
  <td>Viesti:<br><textarea name="viesti" cols="45" rows="4"></textarea></td>
</tr>
<tr>
  <td align="center"><input type="submit" value="Lähetä"> <input type="reset" value="Tyhjennä"></td>
</tr>
</table>
</form>

Koodin alussa määritetään "Action" lähetä painikkeelle, ja haluaisin, että kun viesti on lähtenyt, tämä siirtäisi lähettäjän joko toiselle sivulle tai tyhjentäisi kentät, tai mahdollisesti printtaisi sivun alkuun "Viesti lähetetty" ja tyhjentäisi kentät.

Olisikos mahdollista antaa yhdelle formille kaksi tehtävää?

Mod. lisäsi kooditagit

Metabolix [08.03.2009 16:35:22]

#

Eipä taida tuollaisella formilla lähteä yhtäkään sähköpostiviestiä. :D

Rocceri [08.03.2009 16:38:51]

#

Metabolix, toi ehkä näyttää hassulta, mutta toimii :D

Metabolix [08.03.2009 16:44:29]

#

Ei, ei todellakaan toimi kuin satunnaisissa tapauksissa. Lähetä-nappulan klikkaaminen vastaa mailto-linkin klikkaamista, ja tästähän ei mitään postia lähde vaan enintään aukeaa postiohjelma — jos edes selain tietää, mitä avata. Minulla siitä aukeaa vain valikko, joka tarjoaa Thunderbirdia ja paria muuta ohjelmaa, joista mikään ei sattumoisin osu oikeaan, koska käytän normaalisti webmailia.

Todellista postinlähetystä voit katsoa PHP-oppaasta, joka samalla myös vastaa esittämiisi kysymyksiin.

ajv [08.03.2009 16:45:27]

#

Tuo edellyttää toimiakseen, että käyttäjällä on (oletus)sähköpostiohjelma asennettuna/konfiguroituna. Itsellä ei ole ikinä ollut kotikoneella sähköpostiohjelmaa konffattuna, koska käytän mielummin webmaileja.

E: hidas.

Rocceri [08.03.2009 16:47:01]

#

Joo, juu siltä se näyttää.. En älynnyt tota, koska koneeni osaa käyttää sähköpostiohjelmaa automaattisesti.

E: Ei näytä toimivan tuo toinenkaan :o

Metabolix [08.03.2009 17:05:05]

#

Rocceri kirjoitti:

E: Ei näytä toimivan tuo toinenkaan :o

Se edellyttää tietenkin toimivaa sähköpostipalvelinta ja PHP-skriptille oikeutta lähettää sähköpostia. Omalla koneellasi se siis ei toimi, jos et ole postipalvelinta pystyttänyt, ja aivan halvat palveluntarjoajatkaan eivät varmasti anna tuota mahdollisuutta.

Helpoin vaihtoehto on tallentaa "postit" vain tiedostoon ja lukea ne sieltä. Tietenkin voit myös vain antaa sähköpostiosoitteesi, kyllä halukkaat osaavat itsekin siihen kirjoittaa ja myös turhia kommentteja tulee vähemmän. Kolmas mahdollisuus on kirjoittaa PHP-skripti, joka yhdistää tunnuksillasi johonkin ulkoiseen postipalvelimeen tai vaikka Gmailiin, mutta tämä on jo paljon hankalampaa, joten itse en ainakaan vaivautuisi.

Rocceri [08.03.2009 17:08:18]

#

:s Eikös näitä toimintoja ole mahdollista saada asennettua omalle koneelle?

Metabolix [08.03.2009 17:30:50]

#

Tietenkin voit asentaa sähköpostipalvelimen, tarkemmin siis SMTP-palvelimen. Itse käytän Exim-nimistä palvelinohjelmaa, jonka olen asettanut välittämään ulkomaailmaan lähtevät viestit eteenpäin palveluntarjoajani postipalvelimelle.

Rocceri [08.03.2009 17:37:00]

#

Tämän voi ladata ilmaiseksi?

Mutta, jos käyttää ohjelmaa ilman tuota jälkimmäistä (...jonka olen asettanut välittämään ulkomaailmaan lähtevät viestit eteenpäin palveluntarjoajani postipalvelimelle.), lähteekö posti esimerkiksi tunnus@ip.osoite tai jotain vastaavaa? En oikein usko itsekkään tuohon lauseeseen, koska eihän ole sähköpostiosoitetta ilman päätettä (?).

Blaze [08.03.2009 17:40:24]

#

Itellä on käytössä msmtp. Simppeli konffia ja toimii ku junan vessa.

Rocceri [08.03.2009 17:42:15]

#

Blaze kirjoitti:

Itellä on käytössä msmtp. Simppeli konffia ja toimii ku junan vessa.

Osoite on muotoa? Sähköposti siis. (Muuten, onko käytössäsi myös webdomain ip'lle?)

Rocceri [08.03.2009 18:50:36]

#

Metabolix, Blaze:

Miten te käytätte tätä "SMTP" palvelinta? Suomen lait kuulemma kieltävät sähköpostivalvelimen pitämisen kotikoneella.

Teuro [08.03.2009 18:53:59]

#

Rocceri kirjoitti:

Metabolix, Blaze:

Miten te käytätte tätä "SMTP" palvelinta? Suomen lait kuulemma kieltävät sähköpostivalvelimen pitämisen kotikoneella.

Löytyykö tälle jotain ihan perusteluitakin?

jmp [08.03.2009 18:55:06]

#

Rocceri kirjoitti:

Suomen lait kuulemma kieltävät sähköpostivalvelimen pitämisen kotikoneella.

Ei kai mikään laki tuollaista kiellä?

Rocceri [08.03.2009 19:00:58]

#

Tieto ei ole multa lähtöisin... Älkää tänne kattoko :s

Mutta, jos on ihan mahdollista kotiserverille oma sähköpostipalvelin, niin kertokaa ihmeessä miten laitetaan, mikä laitetaa jne..? :s

Grez [08.03.2009 19:59:31]

#

jmp kirjoitti:

Ei kai mikään laki tuollaista kiellä?

Itse asiassa viestintäviraston määräys 11/2004 kielsi sähköpostin välittämisen suoraan loppukäyttäjien koneille. Ko määräys on kuitenkin kumottu http://www.ficora.fi/attachments/suomiry/5AWLwAxxQ/Viestintavirasto11A2008M.pdf

En tiedä mihin operaattorit nykyään perustaa tuon portin 25 eston, mutta niin kauan kuin se ei toimi, niin palvelinta voi toki pitää, mutta se ei toimi.

Metabolix [08.03.2009 20:02:01]

#

Sähköpostipalvelimen varsinainen ongelma on, että palveluntarjoajat estävät TCP-yhteydet kotiliittymiin porttiin 25, johon SMTP-yhteydet otetaan. Tämä siis estää oman postin vastaanottamisen ulkomaailmasta suoraan koneelle. Kuitekin oman kotiverkon sisällä postia voi lähetellä itselleen, ja myös ulkomaailmaan lähetys onnistuu.

SMTP on siis nimenomaan postin lähetykseen ja välittämiseen käytettävä protokolla. Jos posti on menossa osoitteeseen X@jotain.fi, lähettäjän sähköpostiohjelma toimittaa viestin jollekin SMTP-palvelimelle, joka lähettää sen seuraavalle jne, kunnes viesti päätyy palvelimelle jotain.fi. Tämä palvelin tallentaa viestin käyttäjän X viestilaatikkoon, josta X voi sen lukea. Lukemiseen voidaan käyttää esimerkiksi IMAPia, joka taas sallii käyttäjän X yhdistää palvelimeen jotain.fi ja lukea tällä palvelimella olevan postilaatikkonsa sisältöä.

PHP:n mail-funktiota varten tarvitset jonkin SMTP-palvelinohjelman. On sinun asiasi, minkä voit ja osaat omaan käyttöjärjestelmääsi asentaa. Luultavasti valtaosa meistä SMTP-palvelimen omistajista käyttää Linuxia, joten erityisiä Windows-ohjeita ei ainakaan minulta heru. Palvelinohjelmaa voit valita Wikipedian listasta.

Grez [08.03.2009 20:05:36]

#

Monilla operaattoreilla ei muuten onnistu ulospäinkään lähetys muuta kuin operaattorin oman palvaimen kautta. Toki omalle koneelle laitettavaan SMTP-palvelimeen ei ole konsti eikä mikään konffata se lähettämään viestit operaattorin palvelimelle, eikä suoraan vastaanottajalle.

Metabolix [08.03.2009 20:09:34]

#

Grez: Viitsisitkö vielä valottaa, mikä kohta tässä määräyksessä velvoittaa tukkimaan portin? Ainakaan minusta porttiin 25 tulevia yhteyksiä ei voi pitää väistämättä haitallisena, ja nähdäkseni tuossa silloin päinvastoin sanotaan, että asiakkaan viestintää ei pidä häiritä tarpeettomasti.

Grez [08.03.2009 20:15:56]

#

Kuten sanoin, en tiedä mihin ne nykyään perustuvat. Tällaista löysin tuota vanhasta 11/2004 -määräyksestä, mutta tuo uusi on kumonnut sen, eikä siinä mielestäni ole enää moisia määräyksiä. Operaattoreilta voisi siis mielestäni kysyä perusteita tuohon blokkaamiseen.

Metabolix [08.03.2009 20:22:35]

#

Grez kirjoitti:

Kuten sanoin, en tiedä mihin ne nykyään perustuvat.

Et sanonut vielä silloin, kun rupesin vastaamaan. :) Mutta joo, täytyypä taas ruveta porukalla lähettelemään tästä huomautuksia operaattoreille, kyllä nämä aina muutamassa vuodessa menevät läpi. Elisan FAQ:ssahan lukee jo, että kaapelimodeemiliittymässä saa pitää palvelinta yksityiseen käyttöön ja että kuluttajalaajakaistaa ei ole tarkoitettu palvelimelle. :P

Grez [08.03.2009 20:41:15]

#

Jep, editoin tuota alkuperäistä viestiäni kun huomasin että tuo uusi määräys muutti tilannetta. Löysin muuten arkistoista sen vanhan määräyksen. Siinäkään ei itse määräyksessä määritelty noita estoja, vaan suosituksissa määräyksen soveltamisesta (kappaleet 5 ja 6).

Uuden määräyksen perusteluissa ja suosituksissa en moisia enää huomannut.

Rocceri [09.03.2009 08:46:03]

#

Metabolix kirjoitti:

Luultavasti valtaosa meistä SMTP-palvelimen omistajista käyttää Linuxia, joten erityisiä Windows-ohjeita ei ainakaan minulta heru

Noh, on mulla koneella Linuxin käyttöjärjestelmäkin. Ubuntu 8.10

Mutta, jos asennan koneeseeni esimerkiksi tuon sinun käyttämäsi ohjelman Eximin, PHP'n mail funktion pitäisi toimia?

Niin ja, asennus apua Eximiin? Otin tuosta 4.69 version..

Merri [09.03.2009 09:04:07]

#

Saisinko kysyä, miksi ihmeessä nyt ollaan vääntämässä SMTP-palvelinta pystyyn? Sehän on loppupeleissä täysin tarpeetonta tuon lomakkeen kannalta. Omalla koneella olevan PHP:n voi helposti säätää käyttämään oikeaa SMTP-palvelinta, mutta sijaitsevatko nuo sivutkaan omalla koneella?

HTML-sivulla on lomake.
Lomake viittaa PHP-sivuun.
PHP-sivu lähettää sähköpostin ja näyttää kiitosviestin.

Metabolix [09.03.2009 11:50:51]

#

Merri kirjoitti:

Omalla koneella olevan PHP:n voi helposti säätää käyttämään oikeaa SMTP-palvelinta — —

Ei taida kuitenkaan onnistua, jos ainoa toimiva SMTP-palvelin sattuu vaatimaan salasanan?

Mutta minustakin kysyjän kannattaisi nyt todella miettiä, mitä kannattaa tehdä. Raskaan postipalvelimen pystytys vain PHP:tä varten ei ole oikea ratkaisumalli, jos helpommallakin pääsee. Luultavasti Blazen ehdottama msmtp on parempi vaihtoehto, ellet saa PHP:tä säädettyä juttelemaan suoraan ulkoisen palvelimen kanssa. Jos aiot asentaa jotain Ubuntuun, tee se paketinhallinnan kautta äläkä käsin. Tarvitsemasi paketit kyllä varmasti löytyvät.

Eximin asetukset voit etsiä netistä, smarthost Exim on hyvä hakusana. Muistaakseni myös Ubuntun asetusohjelmalla asetukset osuivat kohdalleen (komentorivillä dpkg-reconfigure exim tai mikä exim-paketti nimeltään onkaan).

msmtp:tä varten on asetusesimerkki ainakin projektin kotisivulla, ja vastaava esimerkki voi tulla myös paketin mukana Ubuntun paketinhallinnasta.

Merri [09.03.2009 12:26:37]

#

Eka tulos Googlesta hakusanoin PHP SMTP password

Muissakin softissa on omia mailinlähetysfunktioita, jotka mahdollistavat salasanallisen SMTP:n käytön, ihan ikivanhasta phpBB2:sta lähtien.

punppis [09.03.2009 15:06:17]

#

Ei nyt suoranaisesti liity aiheeseen, mutta Gmailin saa asetettua toimimaan mailto-linkkien kanssa. Se avaa uuden selain-ikkunan jossa on nuo annetut tiedot valmiiksi täytettynä. Samaisella ohjelmalla saa myös uudet sähköpostit näkymään oikeassa alakulmassa olevan ikkunan avulla (niinkuin mesessä saa viestin).

Googleen gmail notifier.

Rocceri [09.03.2009 16:13:48]

#

Merrin ekaan viestiin: Kyllä, nämä kaikki ovat omalla koneella

--
Mutta, miten siis saan helpointen PHP'n mail funktion toimimaan koneellani??

Rocceri [10.03.2009 08:33:25]

#

Ja tohon edelliseen viestiini lisäys:
Tarvitsisin vastauksen mahdollisimman pian :<
Olisikos jollain keinoa saada Mail funktio toimimaan?

Grez [10.03.2009 10:35:24]

#

Mikä tässä nyt on epäselvää?

Jos haluat väkisin käyttää PHP:n vakio mail-funktiota, niin laita omalle koneelle postipalvelin, jonka konffaat vastaanottamaan mailia vain omalta koneelta ja välittämään sen operaattorin sähköpostipalvelimelle.

Toinen keino olisi sitten esim. tuon Merrin viimeisimmän vastauksen mukainen.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta