Email küldő szolgáltatás


Honlapok esetében sokszor felmerül az a kérdés, hogy milyen módon lehet olyan szolgáltatást kitenni a lapra, ahonnan a látogatók egyszerűen és gyorsan tudnak E-mail küldeni a webmesternek (vagy egy adott címre).

Egyik lehetséges megoldás a Fusion Mail előre megírt, ingyenesen felhasználható scriptje, mely php segítségével valósítja meg a fenti “feladatot”. Az eredeti script egyes részeit lefordítottam, illetve az eredeti “thankyou.php” helyett itt már a “sikeresmail.html” szerepel, egyéb módosítás nem történt.

Mire is lesz szükséged?

Először is egy olyan tárhelyre, ahol működik a PHP és lehet mail-t küldeni (ha ezt nem tudod, kérdezd meg a rendszergazdát). Ha ezek a feltételek adottak, már csak le kell mentened az alább látható 3 kódot olyan néven ami a címükben is szerepel, majd feltölteni a tárhelyedre.

Az “index.html” lesz az a lap, melyet a látogatók ki fognak tölteni. Természetesen ezt a kódrészletet nem csak így önmagában használhatod fel, akár már meglévő honlapodba is beépítheted.

1
2
3
4
5
6
7
<form action="mail.php" method="post">
Küldő neve: <input type="text" name="name"><br/>
Küldő mail címe: <input type="text" name="email"><br/>
Üzenet szövege<br/>
<textarea name="message" cols="40" rows="5"></textarea><br/>
<input type="submit" value="küldés"><br/>
</form>

A “mail.php” fogja elvégezni a tényleg munkát, ez kapja majd meg a “küldés” gomb megnyomásakor az “index.html”-be beírt adatokat.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
 
/*
*****************
fusion mail
 
version 1.0
 
fusionphp.com
*****************
*/
 
//variables (change these)
 
$youremail = "cimzett@mailcime.hu";
// a te mail címed, ahova a levelek menni fognak
 
$subject = "contact form";
// a levél tárgya
 
$thankyou = "sikeresmail.html";
// sikeres küldés után ez fog megjelenni a küldőnek
 
// innentől kezdve már ne módosíts semmit
function check($postArg) { return (IsSet($_POST[$postArg]) && !Empty($_POST[$postArg])); }
 
if(!check('email')){
?>
Nem adtál meg mail címet, nyomd meg a VISSZA gombot.<br/>
<?php
}elseif(!check('name')){
?>
Nem adtál meg nevet, nyomd meg a VISSZA gombot.<br/>
<?php
}elseif(!check('message')){
?>
Nem írtál be üzenetet, nyomd meg a VISSZA gombot.<br/>
<?php
}else{
 
$msg = ereg_replace("\\\'", "'", $_POST['message']);
$msg = ereg_replace('\\\"', "\"", $msg);
$message1 = "from: " . $_POST['name'] . "\nemail: " . $_POST['email'] . "\nmessage:\n" . $msg;
mail($youremail, $subject, $message1, "From: " . $_POST['email'] . "\r\nReply-to: " . $_POST['email'] . "\r\n");
?>
<meta http-equiv="refresh" content="0; url=<?echo $thankyou;?>"">
<?php
}
?>

A “sikeresmail.html”-nek mindössze annyi a dolga, hogy a küldés után tájékoztassa a látogatót, esetleg irányítsa vissza a kezdőlapra.

1
2
3
4
5
6
7
8
9
10
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> Mail a webmesternek </TITLE>
</HEAD>
 
<BODY>
Leveledet sikeresen továbbítottuk!
</BODY>
</HTML>

Köszönet Zsolának, hogy figyelmeztetett a kód register globals off inkompatibilitására! – BlackY

Szerző: Harder (http://blog.harder.hu)

 

30 hozzászólás
a Email küldő szolgáltatás c. bejegyzéshez

  1. Jandó Tamás ()

    Szia,
    Segítséget kérnék. A magyar ékezetes karakterek helyett mindenféle krixkraxok jelennek meg.
    Hogy tudom megoldani hogy megjöjjenek a karakterek rendesen?

    Köszi a válaszodat előre is

  2. Vargas ()

    Üdv.
    Segítségre lenne szükségem. Uw-s tárhelyre felmásoltam a 2 html-t és a Php-t, de nem küld e-mailt. Mit kell még tennem?

  3. Vargas (http://www.rockone.uw.hu)

    Közben sikerült megoldani. Nagyon jó kis script! köszönöm!

  4. Zöld Zoltán ()

    Jandó Tamásnak/ Tamás az index.html karakterkódolását állítsd át UTF8-ra. Nekem így működik rendesen.

  5. Culram ()

    Hát nekem még nem sikerült megoldani.
    Megírná valaki a megoldást?
    Én extra.hu-n használnám.
    Köszi

  6. Culram ()

    Na jó, most valahogy még is megy az extráról küldés. De az ékezetes betűk nem jól jelennek meg a levélben. Mindegyik file-ba beraktam padig az UTF-8-at, de akkor sem úgy jön meg a levél.

  7. Atisz ()

    Nagyon jó a kis script! Csak nekem is ez az ékezetes dolog a problémám. :( Pedig a kitöltendő fájlban (index.html) utf-8 van beállítva ()

    Miért lehet ez? Sőt a mezőknél is beállítottam a magyart (), bár lehet, hogy ez felesleges. :)

    Pls, fontos lenne a válasz!

  8. Tom ()

    Sziasztok próbálgatom a dolgot de mindig azt írja ki, hogy nem adtam meg e-mail címet pedig igen… Tudna valaki mondani erről valamit.

  9. amatyi (http://www.bmg.try.hu)

    Sziasztok! Hogyan tudom bővíteni mondjuk egy telefonszámmal és egy címmel?

    Addig eljutottam, hogy a htmlben csináltam 2 új bekérő mezőt. De a mail.phpban mit kell beleírnom?

    Segítsetek légyszíves, előre is köszönöm.

  10. Culram ()

    Ezt cseréld ki a php-ben, és az új mezők neve legyen telefon és cim:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    // innentől kezdve már ne módosíts semmit
    function check($postArg) { return (IsSet($_POST[$postArg]) &amp;&amp; !Empty($_POST[$postArg])); }
     
    if(!check('email')){
    ?&gt;
    Nem adtál meg mail címet, nyomd meg a VISSZA gombot.
     
    Nem adtál meg nevet, nyomd meg a VISSZA gombot.
     
    Nem írtál be üzenetet, nyomd meg a VISSZA gombot.
     
    Nem írtál be telefonszámot, nyomd meg a VISSZA gombot.
     
    Nem írtál be címet, nyomd meg a VISSZA gombot.
     
    &lt;meta http-equiv="refresh" content="0; url=""&gt;

    Az előző hozzászólást kérem töröljék!

  11. Búgócsiga (http://vaniliaskarika.info)

    Sziasztok én is segítségre szorulnék. Nextarhely-es vagyok és amikor rákattintok az elküld gombra kiírja h “Error 404! /%3c File not found ! De az emailt ennek ellenére elküldi, mi lehet a gond ?

    Előre is kösz a segítséget !

  12. Laukó Zoli ()

    Sziasztok!

    A kódolásról annyit, hogy nálam úgy működik, hogy ANSI-be mentem és iso-8859-1 a kódolás. Eddig utf-8-al próbálkoztam, de vagy nem működött, vagy az ékezetes karaktereket nem jelenítette meg megfelelően. Ha valaki tud erre magyaráztatot írja meg köszi!

  13. pepe (http://www.electronation.hu)

    2004-es cikk úgyse foglalkoznak vele sajnos :( pedig nekem is ez a problémám.

  14. Culram ()

    Na ha minden törik és szakad… Korábban nekem is előjöttek ezek a problémák. Ezért kerestem valami kiforrottabb megoldást.

    Amit találtam az pár (asszem 3) fájlból áll, könnyű konfigolni, és szépen küld HTML formátumú emaileket is. http://phpmailer.codeworxtech.com/index.php

    A probléma csak annyi hogy a szolgáltató email kliensét használja, és ha azon limitálva van a kimenő mennyiség akkor ott megakadunk.

  15. amatyi (http://www.bathorimatyas.extra.hu)

    Sziasztok újra!

    Szeretném checkboxos funkcióval is kibővíteni. A htmlben könnyen megtudom oldani, de sajnos a phpban fogalmam sincs, hogy hogyan kell beállítani. Tudnátok segíteni?!

  16. amatyi (http://www.bathorimatyas.extra.hu)

    Sziasztok, újra lenne egy kérdésem :)

    Szeretném checkboxxal is kiegészíteni, tudnátok segíteni? :)

  17. Bertalan ()

    Szia, köszönöm, hogy megosztottad velem ezt a nagyon ügyes kis e-mail-küldő szolgáltatást. Lenne viszont egy két kérésem még ezzel kapcsolatban (mivel nem konyítok php-hez):
    Szóval megoldható lenne-e, hogy nem kitöltött név/e-mail cim/szöveg esetén hibaüzenet helyett a sikeres elküldéshez hasonlóan egy/három html-t hívna meg. Továbbá érdekelne még egy checkbox is aminek bejelölése esetén a számomra elküldött üzenetről egy másolatot kapna a küldő esetleg egy kis fejléccel egyutt, hogy pl.: Ön Dátum/Óra -kor ezt az üzenetet küldte a www.tehonlapod.hu cimről: …….

    előre is köszönöm a segítséget

  18. Balogh Csaba (http://www.doba.home.ro)

    Sziasztok.
    Van egy oldalam amiben szeretnék egy egyszerű név és email cim regisztrációt és hogy elküldje az email cimemre.Tudd e valaki nekem segiteni ebben. Előre is megköszönöm

    Balogh Csaba

  19. Grachow ()

    Szuper a script. Viszont én FW-ről szeretném használni, onnét nem működik. Mi a megoldás?

  20. Tibor (http://www.hanyipartifesztival.hu)

    Csináltam egy űrlapot /html / php – ban szeretném működésre bírni, de nem igazán működnek a scriptek / vagy inkább nem jól csinálom /. Segítséget, ill. keresek olyan embert, aki helyre teszi a dolgokat.

  21. András ()

    Hogyan tudnék újjabb mezőket hozzá adni?

  22. Andrew ()

    Minden szuperül megy, viszont a karakterkódolás mindenképpen problémás.
    Tudna valaki segíteni, hogyan tudám átállítani? Elvileg utf-8-ba ment.

  23. atyaeg1 (http://mkh.web4.hu)

    Heló!

    web4-en lenne egy ilyen jellegű beágyazásom a honlapunknak. A levélküldő keret meg rublikák már megvannak, csak a parancsokkal van baj. LE tudnád nekem úgy írni, hogy kitörölsz belőle minden nem beleillő megjegyzést, mert nem akar sikerülni a beágyazása html-ben. Mivel autómatikusan ki van írva a nem adtál meg emailt, meg nevet meg sikerült a küldés szövegek, anélkül, hogy a küldés gombra kattintottam volna majd pedig tovább viszi a honlapot egy üres oldalra.

    E-mailben, ha elküldenéd nekem, akkor azért nagyon hálás lennék.

    Köszönöm előre is a segítségedet!

  24. NB. ()

    atyaeg1: .php-ban mentetted a fájlt?

  25. atyaeg1 (http://mkh.web4.hu)

    html formátumra van lehetőség csak az oldalon. Hogyan tudom menteni php-ban?

  26. NB. ()

    A .htm vagy .html helyett .php-t írsz… Ha van php installálva.

  27. atyaeg1 (http://mkh.web4.hu)

    köszi már sikerült megoldanom egy másik kóddal

  28. NB. ()

    Ja, mailto:-tel? Csak az a beépített levelezőt nyitja meg, ami kényelmetlen. Ezzel szerverről küldhetsz.

  29. NB. ()

    Mármint a gépeden telepítentt vagy böngészőben beállított.

  30. Danika (http://www.spotbazar.hu)

    Hello!
    Betettem a weboldalamba (www.spotbazar.hu) de nem küldi el a levelet. A szerveren nincsen gond, mert a webmailből tudok küldeni és fogadni is. Apró módosításokat tettem a kapcsolat mezőbe, de csak az index.html-be hogy fehér legyen a betű. Mi lehet a probléma?

Szólj hozzá Te is
a Email küldő szolgáltatás c. bejegyzéshez

Connect with Facebook

- Engedélyezett HTML elemek: <a> <em> <strong> <ul> <ol> <li>
- Forráskód beküldéséhez tedd a kódot ezek közé: <pre lang="php" line="1">Kódrészlet helye itt</pre>