# Notifications (e-mail értesítések)

> E-mail értesítések létrehozása a tanulási eseményekre: eseményindítók, feltételek, shortcode-ok, címzettek, késleltetés, állapotoldal, kézbesítés és gyakori kérdések.

A Notifications kiegészítő e-maileket küld a tanulóknak bizonyos események után, például kurzus befejezésekor, lecke teljesítésekor vagy kvíz sikeres vagy sikertelen teljesítésekor. Megadhatod, mikor, kinek és milyen tartalommal menjen az üzenet, egyéni, felhasználónkénti tartalmat is beszúrhatsz, és az esemény szerint más-más szöveget küldhetsz. A LearnDash alap e-mailjeit az [E-mail értesítések](https://hub.hellowp.io/hu/plugins/sfwd-lms/beallitasok-funkciok-email-ertesitesek/) fejezet írja le.

## Telepítés

1. Nyisd meg: **LearnDash LMS → Kiegészítők**, keresd meg a Notifications kiegészítőt, kattints a telepítésre, majd az aktiválásra. Aktív licenc kell hozzá.
2. Vagy töltsd fel kézzel a letöltött `.zip` fájlt a **Bővítmények → Új hozzáadása → Bővítmény feltöltése** oldalon, telepítsd és aktiváld.

## Állapot menü

A **LearnDash LMS → Notifications → Status** oldal az értesítésekkel kapcsolatos hibák felderítéséhez van.

**Status.** Az alábbiakat mutatja:

- **Server Cron Setup:** beállítottál-e cron-feladatot az értesítések küldéséhez.
- **Queued Emails in DB:** hány e-mail vár elküldésre az adatbázisban.
- **Last Run:** a cron-feladat legutóbbi sikeres indulása.

A cron-feladatok javítják az értesítések kézbesítését.

**Tools.** Két hibaelhárító eszköz:

- **Empty DB Table:** kiüríti az elküldésre váró e-mailek táblázatát.
- **Fix Scheduled Notification Recipients:** újra lekérdezi és frissíti az adatbázisban lévő várakozó e-maileket.

## Értesítés létrehozása

1. Nyisd meg: **LearnDash LMS → Notifications**.
2. Kattints az **Add New Notification** gombra.

Az értesítések száma nincs korlátozva, de gondold át, mennyi e-mailt küldesz a felhasználóknak. A legtöbb tárhelyszerver nem alkalmas sok e-mail küldésére, lásd lentebb a kézbesítési részt.

### Cím

Az értesítés címe lesz az e-mail tárgya.

### E-mail tartalma

Itt írod meg az üzenetet. Használhatod a formázógombokat, képeket szúrhatsz be, és Vizuális módról Szöveg módra válthatsz, ha saját HTML-t írnál. Gondolj arra, miért küldöd az e-mailt, és a felhasználó figyelmére: gyakran a rövid, lényegre törő üzenet működik a legjobban.

### Eseményindító (Email Trigger)

Az eseményindító az a művelet, amely az e-mail elküldését kiváltja. A választott eseménytől függően további beállítások jelenhetnek meg.

Például a „User completes a course” indítónál elküldheted az e-mailt bármelyik kurzus befejezésekor („All Courses”), vagy kiválaszthatod azt a kurzust vagy kurzusokat, amelyekre az értesítés vonatkozik. Több kurzust is hozzáadhatsz, és eltávolíthatsz egyet a mellette lévő „x”-re kattintva. Ugyanez igaz a konkrét leckékre, témákra és kvízekre. Ha konkrét leckéhez, témához vagy kvízhez küldesz, előbb a kurzust kell megadnod, amelyhez tartoznak, majd lefelé haladva kiválasztani a konkrét elemet.

Néhány indítónak, például a feladatoknak és az esszékérdéseknek nincs további beállítása, ezek általánosan érvényesek.

**Az eseményindítók teljes listája:**

- a felhasználó belép egy csoportba
- a felhasználó beiratkozik egy kurzusra
- a felhasználó befejez egy kurzust
- a felhasználó befejez egy leckét
- egy ütemezett lecke elérhetővé válik a felhasználónak
- a felhasználó befejez egy témát
- a felhasználó befejez egy kvízt
- a felhasználó sikeresen teljesít egy kvízt
- a felhasználó megbukik egy kvízen
- a felhasználó beküld egy kvízt
- beküldtek egy esszét
- kiértékeltek egy esszékérdést
- feltöltöttek egy feladatot
- jóváhagytak egy feladatot
- a felhasználó X napja nem jelentkezett be
- X nappal a kurzus lejárta előtt
- X nappal a kurzus lejárta után
- kézi jegyet adtak a tanulónak a Gradebookban (csak akkor érhető el, ha a [Gradebook](https://hub.hellowp.io/hu/plugins/sfwd-lms/integraciok-gradebook/) kiegészítő telepítve van)

### Elővásárolt kurzusok kizárása

Ez a beállítás a „User enrolls into a course” indítónál jelenik meg. Működéséhez a kurzus kezdési dátumát be kell állítani egy jövőbeli időpontra. Jelöld be az **Exclude Pre-Order Course** négyzetet, ha ki szeretnéd zárni az értesítésből azokat a felhasználókat, akiknek a kurzusa még nem kezdődött el.

### Feltételek (Conditions)

Az egyes értesítésekhez feltételeket is adhatsz, a feltételek mező melletti + jelre kattintva. A feltételekkel tovább szűrheted, kik kapják meg az értesítést:

- a felhasználó be van iratkozva egy csoportba
- a felhasználó be van iratkozva egy kurzusra
- a felhasználó befejezett egy kurzust
- a felhasználó befejezett egy leckét
- a felhasználó befejezett egy témát
- a felhasználó beküldött egy kvízt
- a felhasználó befejezett egy kvízt
- az esszét éppen beküldték
- az esszékérdés éppen kiértékelt állapotba került
- a felhasználó feltöltött egy feladatot
- a felhasználó feladatát jóváhagyták
- a felhasználó nem fejezett be egy kvízt

Egy feltétel kiválasztása után meg kell adnod, melyik kurzusra, leckére, témára vagy kvízre vonatkozik, ugyanúgy, ahogy az eseményindítónál. A feladatokkal és az esszékkel kapcsolatos feltételeknek nincs további beállítása. Annyi feltételt adhatsz hozzá, amennyit akarsz (a + ikonnal), de az értesítés csak akkor megy ki, ha az eseményindító és az összes feltétel is teljesül.

### Shortcode-ok használata

A választott eseményindítótól függően elérhetők shortcode-ok, amelyekkel dinamikus tartalmat jeleníthetsz meg. Például:

Üdvözlés a tanuló keresztnevével:

```text
[ld_notifications field="user" show="first_name"]
```

A kurzus címe, ha az eseményindító kurzushoz kötődik:

```text
[ld_notifications field="course" show="title"]
```

Közvetlen link a kurzusoldalra (jelöld ki a linkelendő szöveget, kattints a link ikonra, és illeszd be):

```text
[ld_notifications field="course" show="url"]
```

Előbb válaszd ki az eseményindítót, utána az **Add New Notification** képernyő alján látod az összes elérhető shortcode listáját.

### Címzettek

Minden értesítésnél kiválaszthatod a címzetteket:

- **User:** a felhasználó kapja.
- **Group Leader:** ha használsz csoportokat, a felhasználó csoportvezetői kapják.
- **Admin:** az összes rendszergazda szerepkörű felhasználó kapja.

Egyet, kettőt vagy mindhármat kijelölheted.

**Additional Recipient (további címzettek):** további e-mail-címeket adhatsz meg vesszővel elválasztva. Fontos, hogy a három címzett-lehetőség közül legalább az egyiket ki kell jelölni, hogy a további címzettek megkapják az értesítést.

### Késleltetés (Delay)

Megadja, hány nappal az esemény után menjen ki az e-mail. Az alapérték 0 nap, vagyis az esemény bekövetkeztekor azonnal elküldi. Más értéket is megadhatsz.

### Közzététel

Végül kattints a **Publish** gombra az értesítés élesítéséhez.

## Meglévő értesítések kezelése

A **LearnDash LMS → Notifications** oldalon látod az összes értesítést. Itt:

- rákereshetsz egy értesítésre,
- szűrheted a listát kurzus, lecke, téma, kvíz vagy eseményindító szerint,
- szerkeszthetsz egy értesítést az **Edit** linkre vagy a címre kattintva,
- törölhetsz egy értesítést a **Trash** linkkel.

Közzététel után az eseményindító már nem szerkeszthető, de a tartalom (szöveg, képek, shortcode-ok) és a címzettek igen. Másik eseményindítóhoz hozz létre új értesítést.

## Leiratkozás

A Notifications által küldött minden e-mail tartalmaz leiratkozási lehetőséget. Ez jogi követelmény, ezért nem kapcsolható ki.

## E-mailek kézbesítése

Alapból a webhelyről küldött e-maileket a tárhelyszolgáltató küldi. A tárhelyszerverek általában weboldalak kiszolgálására valók, nem e-mailek küldésére, ezért a levelek elmaradhatnak. A kézbesítés javításához érdemes más küldési módot választani, például:

- Solid Mail (SolidWP)
- SparkPost és a SparkPost bővítmény
- SendGrid és a SendGrid bővítmény
- WP Mail SMTP bővítmény, amellyel SendGrid, Mailgun, Gmail vagy bármilyen más SMTP-kiszolgáló használható

Mindegyiknek más a küldési korlátja és a funkciói, válaszd a webhelyednek megfelelőt.

## Gyakori kérdések és hibaelhárítás

### Miért nem működnek a „felhasználó befejez egy leckét/témát/kvízt” indítók, ha a lépést kézzel jelölöm késznek a jelenléttel járó vegyes oktatásnál?

A vegyes oktatásnál, ha a jelenlét (Attendance) „Yes”-re van állítva, a lépéseket a rendszergazda jelöli késznek a felhasználó profiljában. A „befejez egy leckét/témát/kvízt” indítók azonban csak akkor aktiválódnak, ha a tanuló maga fejezi be a lépést. A kézi jelölés nem váltja ki az automatizmust.

### Hol látom az értesítések állapotát?

Az Állapot menüben látod a cron-feladat és az értesítések állapotát. Az értesítések kézbesítését, beszúrását, frissítését és törlését naplófájl rögzíti: `/wp-content/uploads/learndash/learndash-notifications-actions.log`.

### Hogyan módosíthatom a WordPress alapértelmezett feladó-címét?

Alapból a WordPress alapértelmezett feladó neve (WordPress) és e-mail-címe szerepel. Módosításhoz használd az alábbi kódot, a „Cégnév” és a cím helyére a sajátodat írva:

```php
// Feladó e-mail-címének módosítása
function wpb_sender_email( $original_email_address ) {
    return 'info@pelda.hu';
}
// Feladó nevének módosítása
function wpb_sender_name( $original_email_from ) {
    return 'Cégnév';
}
// Szűrők hozzáadása
add_filter( 'wp_mail_from', 'wpb_sender_email' );
add_filter( 'wp_mail_from_name', 'wpb_sender_name' );
```

A kód hozzáadásához ajánlott a Code Snippets bővítmény:

1. Nyisd meg: **Bővítmények → Új hozzáadása**.
2. Keress rá: „Code Snippets”.
3. Kattints a telepítésre, majd az aktiválásra.
4. Nyisd meg: **Snippets → Add New**.
5. Adj a kódrészletnek címet (csak belső használatra).
6. Illeszd be a kódot a kódmezőbe.
7. Kattints a **Save Changes and Activate** gombra.

### Nem érkeznek meg az e-mailek.

Az ütemezett értesítések, amelyek lekésik az időpontjukat, a következő cron-futáskor mennek ki. Nézd meg a levélszemét mappát is: előfordul, hogy a levelek oda kerülnek. A kézbesítés javításához lásd az E-mailek kézbesítése részt.

### Hogyan próbálhatom ki az értesítéseket?

Az értesítések kipróbálásához végre kell hajtanod azt a műveletet, amely az értesítés eseményindítója.

### Nem lesznek elküldve az e-mailek.

Ha az e-mailek egyáltalán nem mennek ki, nézd meg az SMTP-naplókat, és a PHP hibanaplóban ellenőrizd, nem bővítmény-ütközésről van-e szó. A naplókat SFTP-n érheted el, további segítségért fordulj a tárhelyszolgáltatódhoz.
