Tovább a tartalomhoz

Amazon SES

Az Amazon SES csatlakoztatása a FluentSMTP-hez: identitás ellenőrzése, IAM-felhasználó szűk jogosultsággal, hozzáférési kulcs és hibaelhárítás.

A WordPress az Amazon Simple Email Service-hez (SES) egy IAM-hozzáférési kulccsal és egy ellenőrzött feladó-tartománnyal csatlakozik. Az itt leírt beállítás a bővítmény küldési jogát a választott tartományra szűkíti.

Nyisd meg a Beállítások → FluentSMTP oldalt, és válaszd az aws csempét (vagy Kapcsolat hozzáadása, majd ugyanez a csempe).

https://minta-bolt.hu/wp-admin/options-general.php?page=fluent-mail
Az Amazon SES kapcsolat űrlapja

A Feladó beállításai blokkban a Feladó e-mail-címének olyan tartományon (vagy pontos címen) kell lennie, amelyet az SES ugyanabban a régióban ellenőrzött, amelyet itt kiválasztasz.

Az Amazon SES API-beállítások blokkban három adat kell:

  • Hozzáférési kulcs
  • Titkos kulcs
  • Régió: egyeznie kell azzal az SES-régióval, ahol az identitást ellenőrizted. Az alapértelmezett az USA keleti régiója (Észak-Virginia / us-east-1).
  1. Nyisd meg az Amazon SES konzolt abban a régióban, amelyet használni fogsz (jobb felül a régióválasztó).
  2. Identities → Create identity.
  3. Válaszd a Domain lehetőséget, és add meg a küldő tartományodat. Az Easy DKIM maradjon bekapcsolva, hozd létre az identitást, majd vidd fel a DNS-hozzáférésedhez az SES által adott DNS-rekordokat. Ha a tartomány ebben a régióban már ellenőrzött, nyisd meg a meglévő identitását.
  4. Várd meg, amíg az identitás Verified, a DKIM pedig Successful állapotú lesz.

Ha a fiók fölötti sáv szerint sandbox módban vagy, kérj éles hozzáférést (Account dashboard → Request production access). Amíg az AWS jóvá nem hagyja, az SES minden olyan címzettnek visszautasítja a levelet, akit nem ellenőriztél.

  1. Nyisd meg az IAM konzolt, majd IAM users → Create user.
  2. Adj nevet, például fluentsmtp-ses. A Provide user access to the AWS Management Console maradjon bejelöletlen.
  3. A Next gombbal lépj tovább. A Set permissions lépésnél csoport és szabályzat kiválasztása nélkül mehetsz tovább: a szabályzatot a következő lépésben közvetlenül a felhasználóhoz adod.
  4. Nézd át az adatokat, kattints a Create user gombra, majd nyisd meg az új felhasználót.

A beágyazott (inline) szabályzat közvetlenül ehhez az IAM-felhasználóhoz tartozik, így nem kell külön szabályzatot létrehozni és csatolni.

A FluentSMTP az SES API-n keresztül csatlakozik. IAM-hozzáférési kulcsokat használj, nem az SES SMTP-beállításaiban kapott SMTP-felhasználónevet és jelszót.

Az Amazon SES-szolgáltató három műveletet használ:

Jogosultság Mire kell a FluentSMTP-nek
ses:SendRawEmail A WordPress-levelek küldése, a HTML-t és a mellékleteket is beleértve.
ses:ListIdentities A kapcsolat ellenőrzése és a feladócímekhez tartozó identitások listázása.
ses:GetSendQuota A küldési korlát, a küldési sebesség és a legutóbbi használat lekérdezése.

Nincs szükséged az AmazonSESFullAccess szabályzatra, az ses:SendEmail jogra, sem identitások létrehozásának vagy törlésének jogára.

  1. A felhasználó Permissions lapján válaszd az Add permissions → Create inline policy lehetőséget.
  2. Válaszd a JSON nézetet, és a szerkesztő tartalmát cseréld az alábbi szabályzatra.
  3. Cseréld az us-east-1-et a saját SES-régiódra, a 123456789012-t az AWS-fiókazonosítódra, a két example.com előfordulást pedig az ellenőrzött tartományodra. Az identitás ARN-jét az SES-identitás Summary részéről másolhatod.
  4. Kattints a Next gombra, nevezd el a szabályzatot FluentSMTP-SendFromDomain-nek, és kattints a Create policy gombra. A szabályzat közvetlenül a felhasználón lesz mentve.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "SendFromVerifiedDomain",
"Effect": "Allow",
"Action": "ses:SendRawEmail",
"Resource": "arn:aws:ses:us-east-1:123456789012:identity/example.com",
"Condition": {
"StringLike": {
"ses:FromAddress": "*@example.com"
}
}
},
{
"Sid": "ReadConnectionDetails",
"Effect": "Allow",
"Action": [
"ses:ListIdentities",
"ses:GetSendQuota"
],
"Resource": "*"
}
]
}

A küldési utasítás a jogot a megadott identitásra, régióra és feladó-tartományra szűkíti. Ha például mindkét helyen a sajat.hu szerepel, a [email protected] címről küldhetsz, más tartomány vagy aldomain címéről nem. Ha csak egyetlen feladót akarsz engedni, a *@example.com helyére pontos címet írj, például [email protected].

Az olvasási utasításhoz Resource: "*" kell, mert ezeket a műveleteket nem lehet egy tartomány-identitásra szűkíteni. Ez listázhatja a fiók más identitásait, de nem ad jogot arról küldeni.

Dedikált IAM-felhasználót használj. Ez legyen a felhasználó egyetlen szabályzata. Egy másik csatolt szabályzat vagy csoport szélesebb küldési jogot adhat, és az itteni Allow utasítás ezt nem írja felül.

Ha az identitás konfigurációs készletet használ

Szekció neve “Ha az identitás konfigurációs készletet használ”

Nyisd meg az SES-identitás Configuration set lapját. Ha van alapértelmezett konfigurációs készlete, a küldési utasítás Resource értékét cseréld olyan tömbre, amely az identitás és a konfigurációs készlet ARN-jét is tartalmazza:

"Resource": [
"arn:aws:ses:us-east-1:123456789012:identity/example.com",
"arn:aws:ses:us-east-1:123456789012:configuration-set/YourConfigurationSet"
]

Ez az első utasításon belüli Resource mező cseréje, nem teljes szabályzat. Az ses:SendRawEmail és az ses:FromAddress feltétel maradjon változatlan. A régiót, a fiókazonosítót, a tartományt és a konfigurációs készlet nevét cseréld a sajátodra. Ha a konfigurációs készlet ARN-je hiányzik, az SES AccessDenied hibával utasítja el a küldést, amely a configuration-set/... erőforrást nevezi meg, annak ellenére, hogy a FluentSMTP elmenti a kapcsolatot.

  1. Ugyanazon az IAM-felhasználón nyisd meg a Security credentials → Create access key részt.
  2. AWS-en kívül futó WordPress-oldalhoz válaszd az Application running outside AWS lehetőséget, és kövesd a lépéseket. Adhatsz leírást, majd hozd létre a kulcsot.
  3. Másold az Access key ID-t és a Secret access key-t a FluentSMTP-be. Az AWS a titkos kulcsot csak egyszer mutatja meg, tartsd titokban.

Ne hozz létre gyökérfiók-hozzáférési kulcsot a bővítménynek. A kulcs az IAM-felhasználóhoz tartozik, az SES-identitás és a küldési korlátok pedig a kiválasztott régióhoz.

Hagyd a Tárolás az adatbázisban lehetőséget kiválasztva. Illeszd be a Hozzáférési kulcs és a Titkos kulcs értékét, válaszd ki a Régiót, majd kattints a Kapcsolatbeállítások mentése gombra. A FluentSMTP ellenőrzi a hitelesítő adatokat. A Titkosítás kikapcsolása a titkos kulcshoz (nem ajánlott) maradjon bejelöletlen. Választhatod a Tárolás a wp-config.php fájlban lehetőséget is.

Nyisd meg a Teszt e-mail küldése ablakot, válaszd az új kapcsolat feladó-címét, adj meg egy saját postafiókot, és küldd el. Ellenőrizd, hogy megérkezett. A mentés az olvasási jogot ellenőrzi, a teszt pedig a küldési jogot is.

Az SES ugyanazon a kapcsolaton több címről is tud küldeni, az ellenőrzött tartományon belül. A Beállítások oldalon a sorban egy +N feladó felirat látszik: kattints rá, és adj hozzá címeket. A címeknek egyezniük kell az ellenőrzött tartománnyal és az IAM-szabályzattal is. Ha a FluentSMTP-ben adsz hozzá feladót, az AWS-jogosultságokat nem bővíted.

  • Email address is not verified (sandbox): ellenőrizd a címzettet, vagy kérj éles hozzáférést.
  • MessageRejected / Email address not verified: a feladó tartománya ebben a régióban nincs ellenőrizve.
  • AccessDenied: nézd meg, hogy az IAM-szabályzat mindhárom fenti műveletet tartalmazza-e. Küldési hibánál vesd össze az identitás ARN-jét, a régiót és az ses:FromAddress feltételt a tényleges feladócímmel. A sikeres kapcsolatellenőrzés nem bizonyítja, hogy a küldés engedélyezett.
  • InvalidClientTokenId: rossz a kulcs, vagy másik fiókhoz tartozik.
  • Régióeltérés: az identitás például az eu-west-1-ben van, a FluentSMTP-ben viszont us-east-1 van beállítva.

Készült:

Tiszteletben tartjuk a magánszférádat

Sütiket használunk a böngészési élmény javítására és a forgalom elemzésére. Az analitika csak akkor indul, ha engeded. Adatvédelmi irányelvek, Sütitájékoztató.

Sütibeállítások