ცოდნის ბაზა
გააგზავნეთ ელფოსტა თქვენი საკუთari Amazon SES ანგარიშის მეშვეობით
დააკავშირეთ თქვენი საკუთari Amazon SES ანგარიში SMTP-ის საშუალებით: აირჩიეთ ერთი რეგიონი და დარჩით მასში, გამოიყენეთ Easy DKIM, გამოდით sandbox-იდან დაკავშირებამდე და გაიგეთ, რატომ არ არის SMTP სავალდებულო მონაცემები თქვენი AWS წვდომის გასაღები.
თქვენ დაგჭირდებათ AWS-ის ანგარიში და წვდომა თქვენი დომენის DNS-თან. SES ამ სიიდან ყველაზე იაფი ვარიანტია დიდი განსხვავებით და მას აქვს ყველაზე მეტი ნაბიჯი.
Amazon-ის საკუთარი დოკუმენტაცია: დომენის დამოწმება · SMTP ავტორიზაციის მონაცემების მიღება · Sandbox-იდან გამოსვლა
⭐ ჩვენ ვუკავშირდებით SES-ს მისი SMTP ინტერფეისით და არა მისი REST API-ით. სწორედ därför გთხოვთ SMTP მომხმარებლის სახელს და პაროლს და არა AWS-ის წვდომის გასაღებს (access key). ორივე გზით ზუსტად ერთი და იგივე შეტყობინება მიეწოდება; SMTP ინტერფეისი თავიდან გარიდებთ AWS-ის მოთხოვნის ხელმოწერის პრობლემების მთელ კატეგორიას, რომელთა დიაგნოსტიკა გარედან ძალიან რთულია, და ეს არის ინტერფეისი, რომლისთვისაც 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 ჩანაწერს:
| ტიპი | ჰოსტი | | --- | --- | | 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 ჩანაწერები, რომლებსაც ის ითხოვს. მის გარეშე თქვენი კონვერტის გამგზავნი არის amazonses.com, ასე რომ SPF სწორდება Amazon-თან და არა თქვენთან, და თქვენ ეყრდნობით მხოლოდ DKIM-ს.
3. გამოდით sandbox-იდან — ეს არის ნაბიჯი, რომელიც ადამიანებს ავიწყდებათ
⛔⛔ SES-ის ახალი ანგარიში იმყოფება sandbox-ში და შეუძლია გაგზავნოს მხოლოდ იმ მისამართებზე, რომლებიც ცალკე გაქვთ დამოწმებული. ის მიიღებს ყველაფერ დანარჩენს და არცერთს არ მიაწოდებს.
ეს არის ზუსტად ის შეცდომა, რომლის დასაჭერადაც არსებობს ჩვენი დამოწმების ნაბიჯი: sandbox-ში SES იღებს თქვენს შეტყობინებას სრულიად ჩვეულებრივი წარმატებული პასუხით და შემდეგ აგდებს მას. თუ დაამოწმებთ ჩვენს პარამეტრებს ტესტის გაგზავნით იმ მისამართზე, რომელიც შემთხვევით დამოწმებული გაქვთ AWS-ში, ის იმუშავებს — ხოლო შემდეგ რეალურ კლიენტთან გაგზავნილი თითოეული შეტყობინება გაქრება.
Account dashboard → Request production access. Amazon გეკითხებათ, რას აგზავნით და როგორ ამუშავებთ დაუბრუნებელ წერილებს (bounces); რამდენიმე პატიოსანი წინადადება თქვენივე კლიენტებისთვის ტრანზაქციული შეტყობინებების შესახებ ჩვეულებრივ მტკიცდება 24 საათის განმავლობაში.
⭐ გააკეთეთ ეს სანამ დააკავშირებთ SES-ს აქ. ამის შემდეგ დასადიაგნოსტიკებელი არაფერია, რადგან არაფერი ფუჭდება.
4. შექმენით SMTP ავტორიზაციის მონაცემები
SES console → SMTP settings → Create SMTP credentials.
ეს ქმნის IAM მომხმარებელს მხოლოდ გაგზავნის უფლებით და გაძლევთ SMTP მომხმარებლის სახელს და SMTP პაროლს.
⛔ ეს არ არის თქვენი AWS წვდომის გასაღები და საიდუმლო (access key and secret). ისინი მიღებულია IAM საიდუმლოდან კონკრეტული ალგორითმით და არ არის ურთიერთშენაცვლებადი. აქ AWS-ის საიდუმლო წვდომის გასაღების ჩასმა ყოველჯერზე ჩაშლის ავტორიზაციას, ხოლო შეცდომა უბრალოდ იტყვის, რომ ავტორიზაციის მონაცემები უარყოფილია.
⚠️ პაროლი ნაჩვენებია მხოლოდ ერთხელ. ჩამოტვირთეთ 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 ნაბიჯიდან
ჩვენ ვქმნით ჰოსტს თქვენთვის (email-smtp.<region>.amazonaws.com), ასე რომ ჰოსტის სახელის არასწორად აკრეფის რისკი არ არსებობს.
6. გააგზავნეთ ტესტი და შეიყვანეთ კოდი
დააჭირეთ Send test message-ს შეყრილთა ყუთში სხვა დომენზე, რომელიც არ გაქვთ დამოწმებული AWS-ში — პირადი Gmail მისამართი იდეალურია, რადგან სწორედ ის ამტკიცებს, რომ გამოხვედით sandbox-იდან. წაიკითხეთ კოდი და შეიყვანეთ იგი.
როდესაც ის არ მუშაობს
"Email address is not verified" რეალურ კლიენტთან გაგზავნისას — თქვენ ჯერ კიდევ sandbox-ში ხართ. ნაბიჯი 3.
535 Authentication Credentials Invalid — თქვენ გამოიყენეთ თქვენი AWS წვდომის გასაღები SMTP ავტორიზაციის მონაცემების სანაცვლოდ (ნაბიჯი 4), ან ავტორიზაციის მონაცემები ეკუთვნის სხვა რეგიონს და არა იმას, რომელიც შეიყვანეთ.
"Maximum sending rate exceeded" — ახალი საწარმოო (production) ანგარიში იწყება წამში 14 შეტყობინებით და დღეში 50,000-ით. ეს არის ძალიან ბევრი შეტყობინება, მაგრამ თუ გადაჰყავთ კლიენტების დიდი ბაზა, ჯერ მოითხოვეთ ლიმიტის გაზრდა.
მუშაობდა ტესტირებისას და გაჩერდა წარმოებაში — შეამოწმეთ SES-ის Reputation მართვის პანელი. Amazon ავტომატურად აჩერებს გაგზავნას, როდესაც დაუბრუნებელი წერილების (bounce) ან საჩივრების მაჩვენებელი გადაკვეთს მათ ზღვარს, და ძველი კლიენტების სიით ამ ზღვრის გადაკვეთა მარტივია.
ისევ გაჭედილი ხართ?
მხარდაჭერა შედის ყველა გეგმაში და პასუხები თქვენს საკუთარ ენაზე გაიცემა.
მხარდაჭერასთან დაკავშირება → ყველა სტატია →