آپ کو ایک AWS اکاؤنٹ اور اپنے ڈومین کے DNS تک رسائی کی ضرورت ہوگی۔ SES اس فہرست میں ایک بڑے فرق کے ساتھ سب سے سستا آپشن ہے، اور وہ جس کے مراحل سب سے زیادہ ہیں۔
Amazon کی اپنی دستاویزات: ایک ڈومین کی تصدیق کرنا · SMTP کی اسناد حاصل کرنا · سینڈ باکس سے باہر نکلنا
⭐ ہم SES سے اس کے SMTP انٹرفیس کے ذریعے رابطہ قائم کرتے ہیں، اس کے REST API کے ذریعے نہیں۔ یہی وجہ ہے کہ آپ سے AWS ایکسس کی (access key) کے بجائے ایک SMTP صارف نام (username) اور پاس ورڈ مانگا جاتا ہے۔ دونوں راستے بالکل ایک ہی پیغام پہنچاتے ہیں؛ SMTP والا راستہ AWS کی درخواست پر دستخط کرنے کے مسائل (request-signing problems) کی ایک پوری قسم سے بچاتا ہے جن کی تشخیص باہر سے کرنا انتہائی مشکل ہوتا ہے، اور یہ وہ انٹرفیس ہے جس کے لیے Amazon خاص طور پر اسناد جاری کرتا ہے تاکہ ہمارے جیسے ٹولز اسے استعمال کر سکیں۔
1. ایک خطہ (region) منتخب کریں اور اسی پر قائم رہیں
SES علاقائی (regional) ہے۔ نیچے دی گئی ہر چیز — آپ کا تصدیق شدہ ڈومین، آپ کی اسناد، آپ کا بھیجنے کا کوٹہ — ایک ہی AWS خطے سے تعلق رکھتی ہے اور کسی دوسرے میں موجود نہیں ہوتی۔
اپنے کلائنٹس کے قریب ترین خطہ منتخب کریں (یورپ کے لیے eu-west-1، شمالی امریکہ کے لیے us-east-1) اور اسے نوٹ کر لیں۔ آئرلینڈ میں اپنے ڈومین کی تصدیق کرنا اور پھر فرینکفرٹ میں اسناد بنانا یہاں دوپہر کا وقت ضائع کرنے کا سب سے عام طریقہ ہے، اور اس سے پیدا ہونے والی خرابی (error) خطوں کے بارے میں کچھ نہیں بتاتی۔
2. اپنے ڈومین کی تصدیق کریں
Amazon SES console ← Identities ← Create identity ← Domain۔ ایک ذیلی ڈومین (subdomain) درج کریں جیسے 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. سینڈ باکس سے باہر نکلیں — یہ وہ مرحلہ ہے جو لوگ چھوڑ دیتے ہیں
⛔⛔ ایک نیا SES اکاؤنٹ سینڈ باکس میں ہوتا ہے اور یہ صرف ان پتوں پر بھیج سکتا ہے جن کی آپ نے الگ سے تصدیق کر رکھی ہو۔ یہ باقی تمام چیزوں کو قبول کر لے گا لیکن ان میں سے کسی کو بھی ڈیلیور نہیں کرے گا۔
یہ بالکل وہی ناکامی ہے جسے پکڑنے کے لیے ہمارا تصدیقی مرحلہ موجود ہے: سینڈ باکس میں، SES آپ کے پیغام کو بالکل عام کامیابی کا جواب دیتے ہوئے لے لیتا ہے اور پھر اسے ضائع کر دیتا ہے۔ اگر آپ ہمارے سیٹ اپ کی تصدیق ٹیسٹ کو کسی ایسے پتے پر بھیج کر کرتے ہیں جس کی آپ نے اتفاقاً AWS میں تصدیق کی ہوئی ہے، تو یہ کام کرے گا — اور پھر کسی حقیقی کلائنٹ کو جانے والا ہر پیغام غائب ہو جائے گا۔
Account dashboard ← Request production access۔ Amazon پوچھتا ہے کہ آپ کیا بھیجتے ہیں اور باؤنس کو کیسے ہینڈل کرتے ہیں؛ اپنے کلائنٹس کو ٹرانزیکشنل اطلاعات (transactional notifications) کے بارے میں دو ایمانداری پر مبنی جملے عام طور پر 24 گھنٹوں کے اندر منظور ہو جاتے ہیں۔
⭐ یہ کام یہاں SES کو منسلک کرنے سے پہلے کریں۔ بعد میں ڈیبگ کرنے کے لیے کچھ نہیں ہوتا، کیونکہ کچھ بھی فیل نہیں ہوتا۔
4. SMTP اسناد بنائیں
SES console ← SMTP settings ← Create SMTP credentials۔
یہ صرف بھیجنے کی اجازت کے ساتھ ایک IAM صارف بناتا ہے اور آپ کو ایک SMTP صارف نام اور ایک SMTP پاس ورڈ دیتا ہے۔
⛔ یہ آپ کی AWS ایکسس کی (access key) اور سیکرٹ نہیں ہیں۔ یہ ایک مخصوص الگورتھم کے ذریعے ایک IAM سیکرٹ سے اخذ کیے گئے ہیں اور آپس میں بدلے نہیں جا سکتے۔ یہاں ایک AWS سیکرٹ ایکسس کی چسپاں کرنے سے ہر بار تصدیق (authentication) ناکام ہو جائے گی، اور خرابی میں صرف یہ کہا جائے گا کہ اسناد مسترد کر دی گئیں۔
⚠️ پاس ورڈ صرف ایک بار دکھایا جاتا ہے۔ صفحہ چھوڑنے سے پہلے CSV ڈاؤن لوڈ کر لیں۔
5. اسے Zinn® میں مربوط کریں
اپنے ڈیش بورڈ میں Email sending کھولیں:
- فراہم کنندہ — Amazon SES
- اس ڈومین سے بھیجیں —
mail.yourdomain.com
- AWS خطہ — مرحلہ 1 والا خطہ، مثلاً
eu-west-1
- SMTP صارف نام — مرحلہ 4 سے
- پورٹ — 587 پر ہی رہنے دیں
- SES SMTP پاس ورڈ — مرحلہ 4 سے
ہم آپ کے لیے ہوسٹ خود تیار کرتے ہیں (email-smtp.<region>.amazonaws.com)، اس لیے ہوسٹ کے نام میں غلطی کا کوئی امکان نہیں ہے۔
6. ٹیسٹ بھیجیں اور کوڈ درج کریں
کسی مختلف ڈومین پر واقع ان باکس میں جس کی آپ نے AWS میں تصدیق نہیں کی ہے، Send test message دبائیں — ایک ذاتی Gmail پتہ بہترین ہے، کیونکہ یہ وہی ہے جو یہ ثابت کرتا ہے کہ آپ سینڈ باکس سے باہر ہیں۔ کوڈ پڑھیں اور اسے درج کریں۔
جب یہ کام نہ کرے
حقیقی کلائنٹ کو بھیجتے وقت "Email address is not verified" — آپ اب بھی سینڈ باکس میں ہیں۔ مرحلہ 3 دیکھیں۔
535 Authentication Credentials Invalid — آپ نے SMTP اسناد کے بجائے اپنی AWS ایکسس کی استعمال کی ہے (مرحلہ 4)، یا اسناد آپ کے درج کردہ خطے سے مختلف خطے کی ہیں۔
"Maximum sending rate exceeded" — ایک نیا پروڈکشن اکاؤنٹ فی سیکنڈ 14 پیغامات اور فی دن 50,000 سے شروع ہوتا ہے۔ یہ اطلاعات کی ایک بڑی تعداد ہے، لیکن اگر آپ ایک بڑے کلائنٹ بیس کو منتقل کر رہے ہیں، تو پہلے اضافے کی درخواست کریں۔
اس نے ٹیسٹنگ میں کام کیا اور پروڈکشن میں بند ہو گیا — SES کا Reputation ڈیش بورڈ چیک کریں۔ جب باؤنس یا شکایت کی شرح ان کی حد سے تجاوز کرتی ہے تو Amazon خود بخود بھیجنے کا عمل روک دیتا ہے، اور کلائنٹس کی پرانی فہرست کے ساتھ اس حد کو پار کرنا آسان ہوتا ہے۔