# Gmail és Google Workspace

> Gmail- vagy Google Workspace-postafiók csatlakoztatása OAuth-tal: Google Cloud-projekt, Gmail API, OAuth-kliens és hitelesítés.

Ezt a kapcsolatot akkor használd, ha a feladó egy Gmail- vagy Google Workspace-postafiók. A FluentSMTP OAuth-on keresztül beszél a Google-lel, a Google-jelszavadat nem tárolja.

A Gmail és a Workspace nem tömeges levélküldő szolgáltatás. Az ingyenes Gmail napi néhány száz levelet enged, a Workspace többet, de az sem listák kiküldésére való. Nagyobb forgalomhoz használj dedikált szolgáltatót (Amazon SES, Mailgun, Postmark, toSend).

## A kapcsolat megnyitása

1. Nyisd meg a **Beállítások → FluentSMTP** oldalt.
2. Ha ez az első kapcsolatod, válaszd a **Google Workspace** csempét.
3. Ha már van kapcsolatod, nyisd meg a **Beállítások** oldalt, kattints a **Kapcsolat hozzáadása** gombra, és válaszd ugyanezt a csempét.

![A Gmail / Google Workspace kapcsolat űrlapja](./kepek/szolgaltatok-gmail-urlap.webp)

*A Gmail / Google Workspace kapcsolat űrlapja* (https://minta-bolt.hu/wp-admin/options-general.php?page=fluent-mail)

Először a **Feladó beállításai** blokkot töltsd ki:

- **Feladó e-mail-címe**: a küldő Google-cím. Ugyanannak a fióknak kell lennie, amelyet a Google engedélykérő képernyőjén jóváhagysz.
- **Feladó neve**: amit a címzettek látnak.
- **Állítsd be a visszaküldési címet, hogy megegyezzen a Feladó e-mail-címével**: kapcsold be.
- **Feladó nevének kényszerítése**: akkor kapcsold be, ha ezt a nevet minden, a kapcsolaton küldött levélen használni akarod.

A Gmailnél nincs „Feladói e-mail cím kényszerítése” beállítás: a hitelesített postafiók a feladó.

Utána a **Gmail / Google Workspace API-beállítások** blokk következik, itt kell megadni a Google Cloudban létrehozott kliens adatait.

## Google Cloud-projekt létrehozása

1. Nyisd meg a Google Cloud Console-t, és jelentkezz be azzal a felhasználóval, aki a postafiók tulajdonosa, vagy olyan Workspace-adminnal, aki Gmail-hozzáférést adhat.
2. A projektválasztóban kattints az **New Project** (Új projekt) lehetőségre. Nevezd el például `FluentSMTP`-nek, hozd létre, és válaszd ki.

## A Gmail API engedélyezése

1. Menj az **APIs & Services → Library** (vagy **Enable APIs and services**) oldalra.
2. Keress rá a **Gmail API**-ra.
3. Nyisd meg, és kattints az **Enable** gombra.

## OAuth-hozzájárulási képernyő

1. Menj az **APIs & Services → OAuth consent screen** oldalra. Ez a Google Auth Platformot nyitja meg.
2. Ha a projekt még nincs beállítva, kattints a **Get started** gombra.
3. Az **App Information** résznél adj meg egy alkalmazásnevet (például `FluentSMTP`) és egy felhasználói támogatási e-mail-címet.
4. Az **Audience** résznél válassz:
   - **Internal**: akkor érhető el, ha a projekt Google Workspace- vagy Cloud Identity-szervezethez tartozik. Csak a szervezet felhasználói hitelesíthetnek.
   - **External**: személyes Gmail-fiókhoz vagy a szervezeten kívüli felhasználókhoz. Az alkalmazás **Testing** állapotban indul.
5. A **Contact Information** résznél adj meg egy e-mail-címet, ahová a Google a projekt értesítéseit küldi.
6. Olvasd át a Google API Services: User Data Policy szabályzatot, fogadd el, ha egyetértesz, majd kattints a **Continue → Create** gombra.

### Testing és published állapot

Egy **External** alkalmazásnál, amely **Testing** állapotban van, add hozzá a hitelesítéshez használt Google-címet: **Google Auth Platform → Audience → Test users → Add users**.

A Testing állapotú kapcsolat hét nap után lejár: a Google az External, Testing állapotú alkalmazásoknál hétnapos frissítőtokent ad, ha Gmail-hozzáférést kérnek. Tartós oldali levelezéshez vidd az alkalmazást **In production** állapotba az **Audience → Publish app** gombbal, majd hitelesítsd újra a FluentSMTP-t. Ha a **Publish app** le van tiltva, lépj a **Go to Branding** részre, és pótold a Google által jelzett hiányzó adatokat. A közzététel nem jelenti azt, hogy az alkalmazás ellenőrzött lenne.

A százfős felhasználószám alatti, személyes használatú alkalmazás kaphat mentességet a Google ellenőrzése alól. A bejelentkezéskor a Google ilyenkor megjeleníthet egy „Google hasn’t verified this app” figyelmeztetést. Az általad létrehozott alkalmazásnál ellenőrizd a nevét, majd ha felkínálja, használd az **Advanced → Go to [az alkalmazásod neve] (unsafe)** lehetőséget. Ez a figyelmeztetés a postafiókot csatlakoztató személynek jelenik meg, nem a levelek címzettjeinek.

A Workspace **Internal** alkalmazásainál nincs szükség nyilvános ellenőrzésre, de a Workspace-rendszergazda továbbra is korlátozhatja a hozzáférést.

## Az OAuth-kliens létrehozása

1. Nyisd meg a **Google Auth Platform → Clients → Create client** oldalt. Elérheted az **APIs & Services → Credentials → Create credentials → OAuth client ID** úton is.
2. **Application type**: **Web application**.
3. **Name**: `FluentSMTP`.
4. **Authorized redirect URIs**: add hozzá pontosan ezt:

```
https://fluentsmtp.com/gapi/
```

Ez nem a te weboldalad címe. A FluentSMTP rögzített OAuth-átirányításként használja, hogy ne kelljen minden WordPress-telepítésen külön visszahívási címet megnyitni. Ha kihagyod, vagy olyan változatot adsz meg, amelyet a Google nem tekint azonosnak, a hitelesítést elutasítja.

Az **Authorized JavaScript origins** mezőt hagyd üresen: a visszahívási cím az **Authorized redirect URIs** alá tartozik.

5. Kattints a **Create** gombra. Másold ki a **Client ID**-t és a **Client secret**-et, és tartsd titokban. A Google a titkot csak a létrehozás párbeszédablakában mutatja meg, másold ki, mielőtt az **OK**-ra kattintasz.

## Beillesztés a FluentSMTP-be és hitelesítés

Vissza a kapcsolat űrlapjára:

1. Hagyd a **Tárolás az adatbázisban** lehetőséget kiválasztva. Bejelölheted a **Titkosítás kikapcsolása az alkalmazás ügyfél-titkos kulcshoz (nem ajánlott)** négyzetet, vagy átválthatsz a **Tárolás a wp-config.php fájlban** lehetőségre. Mindkettő nem kötelező.
2. Illeszd be az **Alkalmazás kliens ID** és az **Alkalmazás kliens titka** mezőbe a kapott értékeket.
3. Ellenőrizd, hogy az **Engedélyezett átirányítási URI** mező még `https://fluentsmtp.com/gapi/` értéket mutat-e.
4. Kattints a **Hitelesítés a Google-lel** gombra. Egy Google-ablak nyílik meg.
5. Válaszd ugyanazt a fiókot, mint a **Feladó e-mail-címe**. Ha a Google tesztelési figyelmeztetést mutat az általad létrehozott alkalmazásról, kattints a **Continue** gombra. Nézd át az „e-mail küldése a nevedben” engedélyt, majd a **Continue** gombbal hagyd jóvá.
6. A FluentSMTP megjelenít egy hozzáférési tokent. Ha az űrlap kéri, illeszd be a hozzáférési token mezőjébe, majd kattints a **Kapcsolatbeállítások mentése** gombra.

Ha sikerült, nyisd meg újra a mentett kapcsolatot: az űrlap jelzi, hogy a Gmail / Google Workspace csatlakoztatva van. Küldj tesztlevelet a **Teszt e-mail küldése** gombbal, és a levelet a postafiókban is ellenőrizd, ne csak a sikerüzenetet nézd.

### Hibák

- Ha a Google `redirect_uri_mismatch` hibát ad, a Cloud-kliensben nem pontosan a `https://fluentsmtp.com/gapi/` szerepel. Szerkeszd a klienst, add hozzá, várj egy percet, és próbáld újra.
- Ha sárga értesítést látsz egy frissített Google API-ról, a régi kapcsolat egy korábbi klienst használt. Hozz létre új klienst (vagy használd újra ezt), és hitelesíts újra.
- Ha később újra kell hitelesítened, nyisd meg a kapcsolatot, kattints az újrahitelesítés hivatkozására, és ismételd meg a Google-ablak lépéseit.
