لانچر مصنوعات Bitnami دستاویزاتimaxe CLI بلاگ رابطہ
imaxe smtp میل v1.0.0

یقینی بنائیں کہ آپ کے الرٹس پہنچیں

سرور کی باہر جانے والی میل کو ایک اسمارٹ ہوسٹ (SES، کوئی کارپوریٹ ریلے…) کے ذریعے کنفیگر کریں اور ایک ٹیسٹ بھیج کر تصدیق کریں کہ یہ کام کرتی ہے۔ ایک کمانڈ اسے ترتیب دے دیتی ہے؛ اس کے بعد سے، آپ کے سسٹم کی اطلاعات واقعی باہر جاتی ہیں۔

$ imaxe smtp configure --host email-smtp.eu-west-1.amazonaws.com --from [email protected]
ورژن
v1.0.0
ذیلی کمانڈز
5
کنفیگ
/etc/imaxe/smtp.yml
root درکار ہے
ہاں
پورٹ
587 · TLS

یہ ماڈیول کیا کرتا ہے #

سرور پر بہت سی چیزیں آپ کو ای میل کے ذریعے مطلع کرتی ہیں: ختم ہونے کو تیار کوئی سرٹیفکیٹ، بھرتی جاتی کوئی ڈسک، رات کے کسی کام کی رپورٹ۔ لیکن ابھی نصب کیا گیا سرور یہ نہیں جانتا کہ وہ میل کیسے بھیجے — یا وہ اسے براہِ راست پہنچانے کی کوشش کرتا ہے اور اسپیم فولڈر میں جا پہنچتی ہے، اگر سرے سے مسترد نہ ہو جائے۔

smtp ماڈیول اسے میزبان کی باہر جانے والی میل کو ایک اسمارٹ ہوسٹ (ایک ایسا ریلے جو واقعی پہنچانے کا مجاز ہو: Amazon SES، کوئی کارپوریٹ میل سرور، آپ کا فراہم کنندہ…) کے مقابل کنفیگر کر کے حل کرتا ہے۔ یہ postfix کو ایسے ایڈجسٹ کرتا ہے کہ وہ سسٹم کی تمام میل اُس اسمارٹ ہوسٹ کو فارورڈ کرے، پاس ورڈ کو محفوظ طریقے سے ذخیرہ کرتا ہے، بھیجنے والے کو دوبارہ لکھتا ہے تاکہ وہ ایک درست ہو، اور آپ کو بھیجنے کی جانچ کرنے دیتا ہے تاکہ تصدیق ہو کہ وہ پہنچتی ہے — اگر کچھ ناکام ہو تو اصل خرابی بتاتا ہے۔

شروع کرنے سے پہلے

اپنے اسمارٹ ہوسٹ کی تفصیلات تیار رکھیں: host، port (عموماً 587)، اور اسناد اگر توثیق درکار ہو۔ پاس ورڈ کمانڈ لائن پر نہیں دیا جاتا: یہ stdin سے یا سیکرٹس اسٹور سے پڑھا جاتا ہے، اس لیے یہ آپ کی ہسٹری میں کبھی نہیں آتا۔

فوری گائیڈمرحلہ وار کام

عام کام #

جو آپ کرنا چاہتے ہیں اسے منتخب کریں۔ ہر ترکیب کمانڈ پہلے سے لکھی ہوئی لاتی ہے — بس اپنا اسمارٹ ہوسٹ اور بھیجنے والا ڈال دیں، اور کاپی کریں دبائیں۔

1

میل ریلے کنفیگر کریں

سرور کو اپنے اسمارٹ ہوسٹ کی طرف اشارہ کریں تاکہ میل واقعی باہر جائے۔

اپنے سرور سے ubuntu صارف کے ساتھ SSH کے ذریعے جڑیں۔

اپنے اسمارٹ ہوسٹ کی تفصیلات کے ساتھ کمانڈ چلائیں۔ پاس ورڈ stdin کے ذریعے مانگا جاتا ہے، اس لیے یہ آپ کی ہسٹری میں کبھی نہیں آتا:

ٹرمینل
$ sudo imaxe smtp configure \
    --host email-smtp.eu-west-1.amazonaws.com \
    --user AKIAIOSFODNN7EXAMPLE \
    --from [email protected]

اگر آپ کے اسمارٹ ہوسٹ کو توثیق درکار نہیں، تو --user چھوڑ دیں۔ مختلف پورٹ یا TLS موڈ کے لیے، --port یا --no-tls شامل کریں۔

اب Postfix سسٹم کی تمام میل آپ کے اسمارٹ ہوسٹ کو فارورڈ کرنے کے لیے ترتیب دیا جا چکا ہے، بھیجنے والے کو [email protected] پر دوبارہ لکھا گیا ہے۔ ٹیسٹ ای میل بھیجیں ترکیب کے ساتھ جاری رکھیں۔
2

ٹیسٹ ای میل بھیجیں

الرٹس پر بھروسہ کرنے سے پہلے تصدیق کریں کہ پیغام باہر جاتا اور پہنچتا ہے۔

ایسے پتے پر ایک ٹیسٹ ای میل بھیجیں جہاں آپ اسے دیکھ سکیں:

ٹرمینل
$ sudo imaxe smtp test --to [email protected]

اگر آپ --to چھوڑ دیں، تو یہ کنفیگر شدہ بھیجنے والے کو بھیجی جاتی ہے۔ ترسیل کی تصدیق کے لیے اپنا اِن باکس (اور اسپیم فولڈر) دیکھیں۔

اگر ای میل پہنچ جائے، تو اب آپ کا سرور آپ کو مطلع کر سکتا ہے۔ اگر ناکام ہو، تو کمانڈ آپ کو اصل MTA خرابی دکھاتی ہے تاکہ آپ جان لیں کہ کیا درست کرنا ہے۔
3

میل کی حالت دیکھیں

ایک نظر میں جانچیں کہ آیا ریلے کنفیگر اور فعال ہے۔

ریلے، اسمارٹ ہوسٹ، بھیجنے والے اور MTA کی حالت کا خلاصہ:

ٹرمینل
$ sudo imaxe smtp status

کسی اسکرپٹ یا ڈیش بورڈ کے لیے درکار ہے؟ مشین کے پڑھنے کے قابل آؤٹ پٹ کے لیے --json شامل کریں:

ٹرمینل
$ sudo imaxe smtp status --json
آپ کو فوراً معلوم ہو جائے گا کہ آیا باہر جانے والی میل تیار ہے یا اسے ابھی کنفیگر کرنا باقی ہے۔
4

مؤثر کنفیگریشن دیکھیں

پاس ورڈ ظاہر کیے بغیر فعال ترتیبات جانچیں۔

دکھاتا ہے کہ اصل میں کون سا host، port، user، بھیجنے والا اور TLS موڈ زیرِ استعمال ہے (پاس ورڈ کبھی پرنٹ نہیں ہوتا):

ٹرمینل
$ sudo imaxe smtp show
کسی ٹیسٹ بھیجنے سے پہلے کوئی ترتیب جانچنے، یا میزبان کی کنفیگریشن کو دستاویز کرنے کے لیے بہترین۔
5

ریلے ہٹائیں

فارورڈنگ بند کریں اور postfix کو اس کی پچھلی حالت میں لوٹا دیں۔

باہر جانے والی میل کے ریلے کو بند کریں اور بنیادی postfix کنفیگریشن بحال کریں:

ٹرمینل
$ sudo imaxe smtp remove
سرور اسمارٹ ہوسٹ کے ذریعے فارورڈ کرنا بند کر دیتا ہے۔ آپ جب چاہیں configure کے ساتھ اسے دوبارہ ترتیب دے سکتے ہیں۔
ٹیسٹ ای میل نہیں پہنچ رہی؟

سب سے عام وجہ یہ ہے کہ بھیجنے والا اسمارٹ ہوسٹ پر تصدیق شدہ نہیں (SES کو ڈومین یا --from پتے کی تصدیق درکار ہوتی ہے)، یا اسناد غلط ہیں۔ imaxe smtp test چلائیں: یہ اصل MTA خرابی لوٹاتا ہے تاکہ آپ ٹھیک ٹھیک جان لیں کہ کیا ایڈجسٹ کرنا ہے۔

CLI حوالہکمانڈز، فلیگز اور فائلیں

نحو #

استعمال
imaxe smtp <subcomando> [--host HOST] [--from CORREO] [flags]

تمام ذیلی کمانڈز کو root کے مراعات درکار ہیں (sudo استعمال کریں) کیونکہ وہ postfix کنفیگریشن کو چھوتی ہیں، /etc/imaxe/ میں لکھتی ہیں اور سسٹم سروسز کو دوبارہ لوڈ کرتی ہیں۔ اسمارٹ ہوسٹ کا پاس ورڈ کبھی فلیگ کے طور پر نہیں دیا جاتا: یہ stdin سے یا سیکرٹس اسٹور سے پڑھا جاتا ہے۔ scripting کے لیے موزوں مشین کے پڑھنے کے قابل آؤٹ پٹ کے لیے status یا show میں --json شامل کریں۔

ذیلی کمانڈز #

ذیلی کمانڈیہ کیا کرتا ہےمتعلقہ فلیگز
configureباہر جانے والی میل کے ریلے کو ایک اسمارٹ ہوسٹ کے مقابل کنفیگر کرتا ہے۔ پاس ورڈ secrets/stdin سے پڑھا جاتا ہے۔--host, --port, --user, --from, --tls / --no-tls
testایک ٹیسٹ ای میل بھیجتا ہے اور ناکام ہونے پر اصل MTA خرابی بتاتا ہے۔--to
statusحالت: ریلے کنفیگر شدہ، اسمارٹ ہوسٹ، بھیجنے والا اور MTA فعال۔--json
showمؤثر کنفیگریشن دکھاتا ہے، پاس ورڈ ظاہر کیے بغیر۔--json
removeریلے کو بند کرتا ہے اور postfix بحال کرتا ہے۔

آرگیومنٹس اور فلیگز #

فلیگقسمطے شدہتفصیل
--host لازمیstringمیل فارورڈ کرنے کے لیے SMTP اسمارٹ ہوسٹ (مثلاً email-smtp.eu-west-1.amazonaws.comconfigure کے لیے لازمی۔
--portint587اسمارٹ ہوسٹ کا SMTP پورٹ۔
--userstringتوثیق کے لیے SMTP صارف۔ اگر چھوڑ دیا جائے، تو ریلے بغیر توثیق کے کنفیگر ہوتا ہے۔
--fromstringتمام پیغامات کے بھیجنے والے کو دوبارہ لکھتا ہے (sender_canonical)۔ اسمارٹ ہوسٹ پر تصدیق شدہ پتہ استعمال کرنے کے لیے مفید۔
--tls / --no-tlsbool--tlsاسمارٹ ہوسٹ سے کنکشن پر TLS نافذ کرتا ہے (طے شدہ)۔ --no-tls اسے غیر فعال کر دیتا ہے۔
--tostringبھیجنے والاtest میں: ٹیسٹ ای میل کا وصول کنندہ۔ طے شدہ طور پر کنفیگر شدہ بھیجنے والا۔
--jsonboolfalsestatus/show میں، نتیجہ stdout پر JSON کے طور پر جاری کرتا ہے۔
پاس ورڈ کوئی فلیگ نہیں

کوئی --password آپشن نہیں ہے۔ سند configure کے دوران stdin سے یا سیکرٹس اسٹور سے (password_secret، طے شدہ طور پر smtp) پڑھی جاتی ہے، اس لیے یہ آپ کی ہسٹری یا پروسیس ٹیبل میں کبھی ظاہر نہیں ہوتی۔

فائلیں اور راستے #

راستہمواد
/etc/imaxe/smtp.ymlماڈیول کی کنفیگریشن: host، port، TLS، user، بھیجنے والا اور پاس ورڈ سیکرٹ کا حوالہ۔
/etc/postfix/main.cfPostfix کنفیگریشن جسے ماڈیول فارورڈنگ کے لیے ایڈجسٹ کرتا ہے (relayhost، sender canonical…)۔
/var/log/mail.logPostfix لاگ جس میں ہر ترسیل کی کوشش اور مسترد ہونے کی وجہ ہوتی ہے۔

smtp.yml کی مثال:

/etc/imaxe/smtp.yml
enabled: true
host: email-smtp.eu-west-1.amazonaws.com
port: 587
tls: true
username: AKIAIOSFODNN7EXAMPLE
from: [email protected]
password_secret: smtp

ایگزٹ کوڈز اور لاگز #

ہر عملدرآمد ایک کوڈ لوٹاتا ہے جسے آپ echo $? کے ساتھ جانچ سکتے ہیں — اسکرپٹس میں سلسلہ بنانے کے لیے مفید:

0OKآپریشن مکمل ہوا؛ test میں، ای میل ترسیل کے لیے قبول کر لی گئی۔
1ERRعمومی غیر درجہ بند خرابی۔ لاگ کا جائزہ لیں۔
2USAGEغلط یا غائب آرگیومنٹس۔
3CONFIGریلے کنفیگر نہیں یا کنفیگریشن نامکمل۔
4AUTHاسمارٹ ہوسٹ نے اسناد مسترد کر دیں۔
5SENDٹیسٹ بھیجنا MTA پر ناکام ہوا (بتائی گئی خرابی دیکھیں)۔

بھیجنے کو ڈی بگ کرتے وقت میل لاگ کو لائیو دیکھیں:

ٹرمینل
$ sudo tail -f /var/log/mail.log
$ sudo imaxe smtp test --to [email protected]

مسائل کا حل #

علامتممکنہ وجہحل
AUTH (کوڈ 4) نکلتا ہےاسمارٹ ہوسٹ کا صارف یا پاس ورڈ غلط۔--user جانچیں اور configure دوبارہ چلائیں، پاس ورڈ stdin کے ذریعے دوبارہ داخل کریں۔
SEND (کوڈ 5) نکلتا ہے، بھیجنے والا مسترد--from پتہ اسمارٹ ہوسٹ پر تصدیق شدہ نہیں (SES میں عام)۔فراہم کنندہ کے ساتھ ڈومین یا پتے کی تصدیق کریں اور test دوبارہ آزمائیں۔
CONFIG (کوڈ 3) نکلتا ہےاس میزبان پر ابھی ریلے کنفیگر نہیں ہے۔اپنے اسمارٹ ہوسٹ کی تفصیلات کے ساتھ imaxe smtp configure چلائیں۔
میل باہر جاتی ہے مگر اسپیم میں جا پہنچتی ہےبھیجنے والے کے ڈومین پر SPF/DKIM ہم آہنگی غائب ہے۔--from ڈومین کے لیے میل فراہم کنندہ کے ریکارڈز ترتیب دیں۔

کیا میل ماڈیول کے ساتھ اٹک گئے ہیں؟

«imaxe <module> status --json» کے آؤٹ پٹ کے ساتھ ہمیں لکھیں اور ہم فوراً جواب دیں گے۔

سپورٹ سے رابطہ کریں