Ձեզ անհրաժեշտ կլինի AWS հաշիվ և հասանելիություն ձեր դոմեյնի DNS-ին: SES-ը այս ցանկի ամենաէժան տարբերակն է զգալի տարբերությամբ, և ամենաշատ քայլեր պահանջողը:
Amazon-ի սեփական փաստաթղթերը. Verifying a domain · Obtaining SMTP credentials · Moving out of the sandbox
⭐ Մենք միանում ենք SES-ին նրա SMTP ինտերֆեյսի միջոցով, այլ ոչ թե նրա REST API-ի: Ահա թե ինչու ձեզանից պահանջվում է SMTP օգտանուն և գաղտնաբառ, այլ ոչ թե AWS մուտքի բանալի (access key): Երկու եղանակներն էլ առաքում են ճիշտ նույն հաղորդագրությունը. SMTP տարբերակը խուսափում է AWS հարցումների ստորագրման (request-signing) խնդիրների մի ամբողջ դասից, որոնք դրսից ախտորոշելը շատ բարդ է, և դա հենց այն ինտերֆեյսն է, որի համար Amazon-ը հրապարակում է հավատարմագրեր՝ հատկապես մեր գործիքների նման գործիքների կողմից օգտագործվելու համար:
1. Ընտրեք տարածաշրջան և մնացեք դրանում
SES-ը տարածաշրջանային է: Ստորև նշված ամեն ինչ՝ ձեր հաստատված դոմեյնը, ձեր հավատարմագրերը, ձեր ուղարկման քվոտան, պատկանում է մեկ AWS տարածաշրջանի և գոյություն չունի որևէ այլ տարածաշրջանում:
Ընտրեք ձեր հաճախորդներին ամենամոտ տարածաշրջանը (eu-west-1 Եվրոպայի համար, us-east-1 Հյուսիսային Ամերիկայի համար) և գրանցեք այն: Ձեր դոմեյնը Իռլանդիայում հաստատելը, ապա Ֆրանկֆուրտում հավատարմագրեր ստեղծելը այստեղ կես օր կորցնելու ամենատարածված ձևն է, և դրա առաջացրած սխալը ոչինչ չի ասում տարածաշրջանների մասին:
2. Հաստատեք ձեր դոմեյնը
Amazon SES console → Identities → Create identity → Domain: Մուտքագրեք ենթադոմեյն, ինչպիսին է mail.yourdomain.com-ը:
Միացրեք Easy DKIM-ը և ընտրեք RSA_2048_BIT: SES-ը ձեզ տրամադրում է երեք CNAME գրառում.
| Type | Host |
|---|
CNAME | <token1>._domainkey.mail.yourdomain.com |
CNAME | <token2>._domainkey.mail.yourdomain.com |
CNAME | <token3>._domainkey.mail.yourdomain.com |
Ավելացրեք բոլոր երեքը: Հաստատումը սովորաբար ավարտվում է մեկ ժամվա ընթացքում:
⭐ Նաև միացրեք հարմարեցված MAIL FROM դոմեյն (bounce.mail.yourdomain.com) և ավելացրեք դրա պահանջած MX և SPF TXT գրառումները: Առանց դրա ձեր ծրարի ուղարկողը (envelope sender) amazonses.com-ն է, հետևաբար SPF-ը համապատասխանեցվում է Amazon-ին, այլ ոչ թե ձեզ, և դուք ապավինում եք միայն DKIM-ին:
3. Դուրս եկեք ավազարկղից (sandbox) — սա այն քայլն է, որը մարդիկ բաց են թողնում
⛔⛔ Նոր SES հաշիվը գտնվում է ավազարկղում (sandbox) և կարող է ուղարկել միայն այն հասցեներին, որոնք դուք առանձին հաստատել եք: Այն կընդունի մնացած ամեն ինչ և ոչինչ չի առաքի:
Սա հենց այն խափանումն է, որը հայտնաբերելու համար գոյություն ունի մեր հաստատման քայլը. ավազարկղում SES-ը վերցնում է ձեր հաղորդագրությունը միանգամայն սովորական հաջողության պատասխանով և այնուհետև ջնջում այն: Եթե հաստատեք մեր կարգավորումը՝ թեստն ուղարկելով այնպիսի հասցեի, որը պատահաբար հաստատել եք AWS-ում, այն կաշխատի, իսկ հետո իրական հաճախորդին ուղղված յուրաքանչյուր հաղորդագրություն կանհետանա:
Account dashboard → Request production access: Amazon-ը հարցնում է, թե ինչ եք ուղարկում և ինչպես եք կառավարում չառաքված նամակները (bounces). ձեր սեփական հաճախորդներին ուղղված գործարքային ծանուցումների մասին մի քանի ազնիվ նախադասությունը սովորաբար հաստատվում է 24 ժամվա ընթացքում:
⭐ Կատարեք սա նախքան SES-ն այստեղ միացնելը: Դրանից հետո շտկելու (debug) ոչինչ չկա, քանի որ ոչինչ չի խափանվում:
4. Ստեղծեք SMTP հավատարմագրեր
SES console → SMTP settings → Create SMTP credentials:
Սա ստեղծում է միայն ուղարկելու թույլտվություն ունեցող IAM օգտատեր և տրամադրում է ձեզ SMTP username և SMTP password:
⛔ Սրանք ձեր AWS access key-ը և secret-ը չեն: Դրանք ստացվում են IAM secret-ից հատուկ ալգորիթմի միջոցով և փոխարինելի չեն: Այստեղ AWS secret access key տեղադրելը ամեն անգամ կձախողի նույնականացումը, և սխալը պարզապես կհայտնի, որ հավատարմագրերը մերժվել են:
⚠️ Գաղտնաբառը ցուցադրվում է մեկ անգամ: Ներբեռնեք CSV-ն նախքան էջը լքելը:
5. Միացրեք այն Zinn®-ում
Բացեք Email sending-ը ձեր կառավարման վահանակում.
- Provider — Amazon SES
- Send from this domain —
mail.yourdomain.com
- AWS region — տարածաշրջանը 1-ին քայլից, օրինակ՝
eu-west-1
- SMTP username — 4-րդ քայլից
- Port — թողեք 587
- SES SMTP password — 4-րդ քայլից
Մենք կառուցում ենք host-ը ձեզ համար (email-smtp.<region>.amazonaws.com), այնպես որ host-ի անունը սխալ մուտքագրելու հնարավորություն չկա:
6. Ուղարկեք թեստը և մուտքագրեք կոդը
Սեղմեք Send test message դեպի մուտքային արկղ մեկ այլ դոմեյնի վրա, որը չեք հաստատել AWS-ում — անձնական Gmail հասցեն իդեալական է, քանի որ հենց դա է ապացուցում, որ դուք դուրս եք եկել ավազարկղից: Կարդացեք կոդը և մուտքագրեք այն:
Երբ այն չի աշխատում
«Email address is not verified» իրական հաճախորդին ուղարկելիս — դուք դեռ ավազարկղում եք: Քայլ 3:
535 Authentication Credentials Invalid — դուք օգտագործել եք ձեր AWS access key-ը SMTP հավատարմագրերի փոխարեն (քայլ 4), կամ հավատարմագրերը պատկանում են այլ տարածաշրջանի, քան այն, որը մուտքագրել եք:
«Maximum sending rate exceeded» — նոր արտադրական (production) հաշիվը սկսվում է վայրկյանում 14 հաղորդագրությամբ և օրական 50,000-ով: Դա շատ մեծ քանակությամբ ծանուցումներ են, բայց եթե դուք տեղափոխում եք հաճախորդների մեծ բազա, նախ պահանջեք սահմանաչափի ավելացում:
Այն աշխատեց թեստավորման ժամանակ և դադարեց արտադրական (production) միջավայրում — ստուգեք SES Reputation վահանակը: Amazon-ն ավտոմատ կերպով դադարեցնում է ուղարկումը, երբ չառաքման (bounce) կամ բողոքների մակարդակը գերազանցում է իրենց շեմը, իսկ հին հաճախորդների ցուցակի դեպքում այդ շեմը գերազանցելը հեշտ է: