Email küldése PHP-val

Ebben a példában egy egyszerű email küldő formot készítünk

Haszontalannak jelölve: 0
Hasznosnak jelölve: 0
Kulcsszavak: php, email küldés, sending email
Elérhető: Nem érhető el

Ebben a példában a lehető legegyszerűbb módon készítünk egy formot amelyet felhasználhatunk email küldéshez.

Ehhez szükségünk van HTML-re, PHP-ra és esetleg egy kevés CSS-re, hogy nézhető formában tegyük ki az elemeket.

Az elképzelés a következő:

  • - ha a felhasználó kitöltötte az adatokat, ellenőrizzük, hogy azok megfelelőek vagy nem
  • - ha az adatok megfelelőek voltak, levelet küldünk, majd kiírjuk, hogy levél elküldve
  • - ha nem jöttek adatok, vagy hibás adatok jöttek, kitesszük a formot az újra próbálkozáshoz

1. Hozzunk létre egy "index.php" nevű fájlt.

2. Tegyük bele a <body> és a </body> tagok közé az alábbi formot:

 

Kötelező mező
Fogadó email címe
Opcionális mezők
Levél tárgya
Levél tartalma <textarea name="message"></textarea>
Küldő neve
Küldő email címe

Forráskód mutatása


    <form action="" method="POST">
        <label for="">Kötelező mező</label><br />
        <div>
            <label>Fogadó email címe</label>
            <input type="text" name="receiver_email" value="" />
        </div>

        <label for="">Opcionális mezők</label><br />
        <div>
            <label>Levél tárgya</label>
            <input type="text" name="subject" value="" />
        </div>

        <div>
            <label>Levél tartalma</label>
            <textarea name="message" ></textarea>
        </div>

        <div>
            <label>Küldő neve</label>
            <input type="text" name="sender_name" value="" />
        </div>

        <div>
            <label>Küldő email címe</label>
            <input type="text" name="sender_email" value="" />
        </div>

        <div class="buttons">
            <input type="submit" name="submit" value="Küldés" />
        </div>
    </form>


        

Ennek a formnak a segítségével ha beírunk bármit a megadott mezőkbe és megnyomjuk a "Küldés" gombot, akkor azt elküldjük az oldalnak, és így megpróbálhatunk emailt küldeni.

3. Az adatok elküldése után most szükségünk van arra, hogy ezt ellenőrizzük.

Az ellenőrzést a példa elején leírt lista alapján a form kirakása előtt kell ellenőrizni, az alábbi módon:


    <?php
    // Ha elküldtük a formba beírt adatokat, így nem üres a $_POST
    if( ! empty( $_POST ) )
    {
        // Mivel csak egy mező kötelező csak azt kell ellenőrizni
        if( empty( $_POST["receiver_email"] ) )
        {
            echo "<p>Kérjük adja meg a fogadó email címét!</p>";
        }
    }
    ?>


    

Ezt az ellenőrzést tehetjük egy függvénybe is, pl "try_to_send_email", ahol még ellenőrizhetjük, hogy a megadott email cím tényleg egy email cím-e?

Ha az ellenőrzés sikeres volt már csak el kell küldjük az emailt a mail függvény segítségével.

A mail függvénynek 4 paramétert adhatunk meg:

  • 1. A fogadó email cím
  • 2. A levél tárgya
  • 3. A levél tartalma
  • 4. Különböző beállításokat

A különböző beállítások lehetnek például, hogy ki a küldő, milyen programmal küldte a levelet, milyen címre jöhet a válasz, stb. Ezeket hívjuk fejléceknek (headers-nek).

Ha a levelet sikeresen elküldtük, akkor a A "Sikeres levél küldés" üzenet kell megjelenjen az oldalon, ehhez elég ha kitöltjük a fogadó email címét:

4. Ha szeretnénk hogy a form ne jelenjen meg amikor a levél küldés sikeres, akkor a form megjelenítését egy feltételbe kell tegyük:


    <?php
    // Ha elküldtük a formba beírt adatokat, így nem üres a $_POST
    if( ! empty( $_POST ) )
    {
        // ellenőrzés és levél küldés ide
    }
    else
    {
    ?>
        <form action="" method="POST">
            <label for="">Kötelező mező</label><br />
            <div>
                <label>Fogadó email címe</label>
                <input type="text" name="receiver_email" value="" />
            </div>

            <label for="">Opcionális mezők</label><br />
            <div>
                <label>Levél tárgya</label>
                <input type="text" name="subject" value="" />
            </div>

            <div>
                <label>Levél tartalma</label>
                <textarea name="message" ></textarea>
            </div>

            <div>
                <label>Küldő neve</label>
                <input type="text" name="sender_name" value="" />
            </div>

            <div>
                <label>Küldő email címe</label>
                <input type="text" name="sender_email" value="" />
            </div>

            <div class="buttons">
                <input type="submit" name="submit" value="Küldés" />
            </div>
        </form>
    <?php
    }
    ?>


    

A példa és a benne szereplő kódok letölthetőek a jobb oldalon található link segítségével

Hasonló példák