Olen tehnyt PHP ja MySQL:llä luettelo sivustot. Ajattelin lisätä mahdollisuuden käyttäjän lähettää sähköpostia ihan kenelle haluaa. Käyttäjät kirjautuvat sisään ja tätä kautta voin suoraan "kerätä" lähettäjän tiedot, käyttäjän ainostaan tarvitsee laittaa sähköpostiosoite tai osoitteet mihin haluaa postia lähettävän. Ongelma onkin se miten tuon teen?
Olen katsellut tuota FormMail.pl (http://www.scriptarchive.com/formmail.html) tapaa, mutta en saanut tolkkua kuinka konfiguroida tuo. Sivustot ovat itse pitämällä palvelimella (Apache).
Tietenkin jos on muita konsteja, niin kertokaa ihmeessä. Ja mielummin hyvin perusteellisesti mieluummin, Kiitos.
Tekee php tiedoston ja postittaa mail-funktiolla.
Ainakin mulla on sillei.
lainaus:
Tekee php tiedoston ja postittaa mail-funktiolla.
Ainakin mulla on sillei.
^ Ja autto paljon. Mitenkä tuon teen, vasta alkajaksi tuo ei minulle paljoa kerro.
<?php $mihin = "vastaan@otta.ja"; $kayttajanosoite = "kayttaja@kayttaja.fi"; $otsikko = "otsikko"; $viesti = "Nimi: ".$_POST['nimi']."\n Viesti: ".$_POST['asia']."" mail($mihin, $otsikko, $viesti, "From: $kayttajanosoite") or die("Ei onnistunut"); ?>
Jotenkin tuolla tavalla.
edit.vähän muokkasin.
Tuohon "$mihin":kin voisi varmaan laittaa tuon POST, koska sehän laitetaan lomakkeessa.. noo hmm. :)
mulla se on näin:
lahetä.php
<?php mail ($vastaanottaja,$aihe,$viesti,"From: joku_joku"); ?>
viesti.html
<form name="viesti" method="post" action="laheta.php"> <ul> <p><font face="Verdana">Vastaanottaja:<br> <input type="text" name="vastaanottaja" size="35"><br> <br> Aihe:<br> <input type="text" name="aihe" size="36"> <br> <br> Viesti:<br> <textarea name="viesti" rows="7" cols="83"></textarea><br> <br> <input type="submit" value="Lähetä"></font></p> </form>
p.s joku heittää kummankin koodin alussa (ei oo > ja < merkkiä.
Sähköpostin lähettäminen onnistuu siis PHP:n sisäisellä mail-funktiolla. Funktion parametrit ovat vastaanottajan sähköpostiosoite, viestin otsikko sekä viestin sisältö. "Lähettäjän" sähköpostiosoitteen voi määrittää neljännellä parametrilla "From :"-alun kanssa.
mail("vastaanottajan@osoite", "Testi", "Rivi 1\nRivi2\nRivi3", "From: lahettajan@osoite");
Lisää tietoa:
https://www.php.net/manual/en/function.mail.php
Mitenkäs tuon php.ini tiedoston konfigurointi?
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set()
Miten korjaan tuon ongelman?
Okei, tuo ongelma oli äkkiä ratkaistu. Mutta miten teen oman sähköpostipalvelimen? Vai onko alue väärä tähän kysymykseen?
miten voi tehdä muuttujan from kohtaa? jos from komennon perään laittaa muuttujan, niin lähettäjä kentässä näkyy php.ini:ssä määritelty returnpath..
lainaus:
mulla se on näin:
lahetä.php<?php mail ($vastaanottaja,$aihe,$viesti,"From: joku_joku"); ?>viesti.html
<form name="viesti" method="post" action="laheta.php"> <ul> <p><font face="Verdana">Vastaanottaja:<br> <input type="text" name="vastaanottaja" size="35"><br> <br> Aihe:<br> <input type="text" name="aihe" size="36"> <br> <br> Viesti:<br> <textarea name="viesti" rows="7" cols="83"></textarea><br> <br> <input type="submit" value="Lähetä"></font></p> </form>p.s joku heittää kummankin koodin alussa (ei oo > ja < merkkiä.
kooditagit pitää tehdä niin, että sen kooditagin jälkeen tulee rivinvaihto ja sitten vielä loppuun yksi rivinvaihto ennen sitä kooditagin lopetusta. Tämä pitäisi lukea myös siellä ohjeissa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.