اس کا استعمال اس صورت میں کریں اگر آپ اپنا ذاتی میل انفراسٹرکچر چلاتے ہیں، یا اگر آپ کا فراہم کنندہ ان میں سے ہے جنہیں ہم براہِ راست فہرست میں شامل نہیں کرتے — تقریباً تمام میل سروسز SMTP پیش کرتی ہیں۔
⚠️ اگر آپ کا فراہم کنندہ Mailgun، SendGrid، Postmark، Amazon SES یا Resend ہے، تو اس کے بجائے اس کی اپنی گائیڈ استعمال کریں۔ وہ کنکشنز کسی خرابی کی صورت میں آپ کو بہتر ایرر پیغامات فراہم کرتے ہیں، کیونکہ ہم محض ایک SMTP اسٹیٹس کوڈ کے بجائے یہ پڑھ سکتے ہیں کہ فراہم کنندہ نے درحقیقت کیا جواب دیا۔
آپ کو کن چیزوں کی ضرورت ہے
چار چیزیں، اس شخص یا سروس سے جو آپ کا میل سرور چلاتا ہے:
- Host — مثلاً
smtp.yourprovider.com
- Port —
587، 465 یا 2525
- Username اور password
کون سی پورٹ
587 STARTTLS کے ساتھ سبمشن ہے اور آپ کو یہی استعمال کرنی چاہیے۔ کنکشن انکرپشن کے بغیر شروع ہوتا ہے اور کچھ بھی بھیجنے سے پہلے TLS پر اپ گریڈ ہو جاتا ہے۔
465 امپلیسٹ (implicit) TLS ہے — پہلی بائٹ ہی سے انکرپٹ شدہ۔ یہ بھی بالکل درست ہے؛ بعض فراہم کنندگان اسے ترجیح دیتے ہیں۔
2525 ایک غیر سرکاری متبادل ہے جو کچھ ہوسٹس اس لیے پیش کرتے ہیں کہ چند نیٹ ورکس 587 کو بلاک کر دیتے ہیں۔ اسے صرف اسی صورت میں استعمال کریں جب آپ کا فراہم کنندہ آپ کو ایسا کرنے کا کہے۔
⛔ پورٹ 25 یہاں قبول تو کی جاتی ہے لیکن یہ تقریباً کبھی بھی درست انتخاب نہیں ہوتی۔ یہ وہ پورٹ ہے جسے میل سرورز ایک دوسرے سے بات کرنے کے لیے استعمال کرتے ہیں، نہ کہ وہ جسے کوئی ایپلیکیشن پیغام جمع کروانے کے لیے استعمال کرتی ہے۔ یہ زیادہ تر نیٹ ورکس پر بلاک ہوتی ہے، اس پر اکثر تصدیق (authentication) نہیں ہوتی، اور جہاں یہ کام کرتی بھی ہے، وہاں اکثر غیر انکرپٹ شدہ ہوتی ہے۔
⛔⛔ ہم غیر انکرپٹ شدہ کنکشن پر پیغامات نہیں بھیجیں گے۔ اگر آپ Use STARTTLS کو آن رکھتے ہیں — اور آپ کو ایسا ہی کرنا چاہیے — اور آپ کا سرور اپ گریڈ کرنے سے انکار کرتا ہے، تو غیر انکرپٹ شدہ حالت میں جاری رہنے کے بجائے بھیجنے کا عمل ناکام ہو جاتا ہے۔ یہ دانستہ کیا گیا ہے: آپ کے کلائنٹس کے پاس ورڈ ری سیٹ کے لنکس ان پیغامات کے ذریعے جاتے ہیں، اور ایسی ڈاون گریڈ جس کا کسی کو علم نہ ہو بدترین قسم کی ناکامی ہے، کیونکہ میل پھر بھی موصول ہو جاتی ہے۔
پہلے اپنا DNS ترتیب دیں
آپ کا فراہم کنندہ کسی مینیجڈ سروس کی طرح آپ کے لیے یہ خود کار طریقے سے نہیں کرتا۔ آپ کو اس ڈومین پر، جہاں سے آپ پیغامات بھیج رہے ہیں، درج ذیل کی ضرورت ہوگی:
SPF — ایک TXT ریکارڈ جو آپ کے سرور کے ایڈریس کی تصدیق کرتا ہے: v=spf1 ip4:203.0.113.10 -all، یا v=spf1 a:smtp.yourprovider.com -all۔ اگر آپ کے پاس پہلے سے SPF ریکارڈ موجود ہے، تو اس میں ترمیم کریں؛ ایک ڈومین پر دو SPF ریکارڈز SPF کو مکمل طور پر ناکام بنا دیتے ہیں۔
DKIM — آپ کا میل سرور باہر جانے والے پیغامات پر دستخط کرتا ہے اور آپ مطابقت رکھنے والی پبلک کی (public key) <selector>._domainkey.yourdomain.com پر شائع کرتے ہیں۔ Postfix پر یہ عموماً OpenDKIM ہوتا ہے؛ آپ کا فراہم کنندہ آپ کو سلیکٹر بتائے گا۔
DMARC — _dmarc.yourdomain.com پر ایک TXT ریکارڈ، جو v=DMARC1; p=none; سے شروع ہوتا ہے جب تک کہ آپ یہ جانچ نہ لیں کہ SPF اور DKIM دونوں پاس ہو رہے ہیں۔
Reverse DNS — آپ کے سرور کے IP ایڈریس کا PTR ریکارڈ واپس اس کے ہوسٹ نیم پر حل (resolve) ہونا چاہیے۔ بڑے وصول کنندگان اسے چیک کرتے ہیں اور بہت سے اس کے بغیر کسی ایڈریس سے میل قبول نہیں کریں گے۔ آپ کا ہوسٹنگ فراہم کنندہ اسے سیٹ کرتا ہے، نہ کہ آپ کا DNS فراہم کنندہ۔
⭐ سروس فعال ہونے کے بعد ایک بہترین مفت جانچ: mail-tester.com پر ایک پیغام بھیجیں اور اسکور چیک کریں۔ یہ آپ کو بتاتا ہے کہ ان چاروں میں سے کس میں خرابی ہے، جو اسپام فولڈر سے اندازہ لگانے کے مقابلے میں کہیں زیادہ تیز رفتار طریقہ ہے۔
اسے Zinn® میں مربوط کریں
اپنے ڈیش بورڈ میں Email sending کھولیں:
- Provider — SMTP سرور
- Send from this domain —
mail.yourdomain.com (ایک ڈومین، کوئی ایڈریس نہیں)
- SMTP host, Port, Username, Password
- Use STARTTLS — آن رکھیں، سوائے اس کے کہ آپ پورٹ 465 پر ہوں
⭐ اس کام کے لیے ایک وقف شدہ میل بکس یا سبمشن صارف بنائیں، بجائے اس کے کہ کسی فرد کا لاگ اِن دوبارہ استعمال کریں۔ جب کوئی ادارہ چھوڑتا ہے اور اس کا پاس ورڈ تبدیل ہوتا ہے، تو آپ کے کلائنٹس کی اطلاعات رکنی نہیں چاہئیں۔
ٹیسٹ بھیجیں اور کوڈ درج کریں
کسی دوسرے ڈومین پر موجود ان باکس پر Send test message دبائیں، اس میں سے کوڈ پڑھیں، اور اسے درج کریں۔
جب یہ کام نہ کرے
"The mail server rejected the username or password" — SMTP AUTH ناکام ہو گیا۔ اگر آپ کے فراہم کنندہ کے پاس اکاؤنٹ پر ٹو فیکٹر توثیق فعال ہے، تو آپ کو تقریباً یقینی طور پر لاگ اِن پاس ورڈ کے بجائے ایک app password کی ضرورت ہوگی۔
"Could not reach host:port" — پورٹ بلاک ہے، ہوسٹ نیم غلط ہے، یا سرور اس پورٹ پر سبمشن سننے کے لیے تیار نہیں ہے۔ کسی دوسری مشین سے telnet smtp.yourprovider.com 587 رن کرنے پر آپ کو اصل وجہ معلوم ہو جائے گی۔
TLS کی کوئی خرابی — آپ کے سرور کا سرٹیفکیٹ میعاد ختم شدہ ہے، سیلف سائنڈ ہے، یا آپ کے درج کردہ ہوسٹ نیم سے مطابقت نہیں رکھتا۔ ہم سرٹیفکیٹس کی توثیق کرتے ہیں اور اس جانچ کو نظر انداز نہیں کریں گے؛ سرٹیفکیٹ درست کریں۔
"The mail server refused the recipient" — آپ کا سرور اس بھیجنے والے کے لیے ریلے کرنے کے لیے کنفیگر نہیں ہے، جس کا عام طور پر مطلب یہ ہوتا ہے کہ تصدیق شدہ صارف کو آپ کے بھیجنے والے ڈومین کے طور پر بھیجنے کی اجازت نہیں ہے۔
میل بھیجی جا رہی ہے لیکن سب کچھ اسپام میں جا رہا ہے — یہ DNS کا مسئلہ ہے، SMTP کا نہیں۔ اوپر دیے گئے SPF، DKIM، DMARC اور ریورس DNS کی درستگی پر کام کریں، پھر mail-tester والی جانچ دوبارہ چلائیں۔