ڈوئل SMTP فارورڈنگ سیٹ اپ کرنا
ایک جیسے صارف اکاؤنٹس کے ساتھ متعدد ای میل سرورز کا انتظام کرنا مشکل ہوسکتا ہے۔ اس منظر نامے میں، جب example.com پر کسی صارف کو ای میل بھیجی جاتی ہے، تو اسے جیمز اور ون میل سرورز دونوں کے ذریعے موصول ہونے کی ضرورت ہوتی ہے، اس بات کو یقینی بناتے ہوئے کہ ای میل کے مواد میں کوئی تبدیلی نہ ہو۔
عام حل، جیسے کہ DNS میں متعدد MX ریکارڈز کو ترتیب دینا، کم پڑتے ہیں کیونکہ وہ ایک وقت میں مثال کے طور پر صرف ایک سرور پر بھیج سکتے ہیں۔ مقامی سٹوریج کے بغیر ای میلز کو دونوں سرورز پر فارورڈ کرنے کے لیے پوسٹ فکس کا استعمال پیچیدہ ثابت ہوا ہے، جس کی وجہ سے smtplib کے ساتھ اسکرپٹنگ جیسے حل نکلتے ہیں، جو کہ قابل اعتماد نہیں ہو سکتے۔ آئیے بہتر متبادل تلاش کریں۔
کمانڈ | تفصیل |
---|---|
import smtplib | Python کا استعمال کرتے ہوئے ای میلز بھیجنے کے لیے سادہ میل ٹرانسفر پروٹوکول لائبریری درآمد کرتا ہے۔ |
import sys | سسٹم کے مخصوص پیرامیٹرز اور فنکشنز ماڈیول کو درآمد کرتا ہے، جو کمانڈ لائن آرگومنٹس حاصل کرنے کے لیے استعمال ہوتا ہے۔ |
from email.mime.text import MIMEText | متن پر مبنی ای میل پیغامات بنانے کے لیے MIMEText کلاس درآمد کرتا ہے۔ |
from email.mime.multipart import MIMEMultipart | ملٹی پارٹ ای میل پیغامات بنانے کے لیے ایم آئی ایم ای ملٹی پارٹ کلاس درآمد کرتا ہے۔ |
msg.attach(MIMEText('text', 'plain')) | ای میل پیغام کے ساتھ ایک سادہ متن کا حصہ منسلک کرتا ہے۔ |
with smtplib.SMTP(server) as smtp | SMTP سرور سے ایک کنکشن کھولتا ہے اور یہ یقینی بناتا ہے کہ ای میل بھیجنے کے بعد یہ مناسب طریقے سے بند ہے۔ |
postmap /etc/postfix/transport | ٹرانسپورٹ میپ فائل سے ایک بائنری ڈیٹا بیس تیار کرتا ہے، جسے پوسٹ فکس میل روٹنگ کے لیے استعمال کرتا ہے۔ |
systemctl reload postfix | کسی بھی تبدیلی کو لاگو کیے بغیر، سروس کو روکے بغیر پوسٹ فکس کنفیگریشن کو دوبارہ لوڈ کرتا ہے۔ |
پوسٹ فکس اور ازگر کے انٹیگریشن کو سمجھنا
فراہم کردہ اسکرپٹس کو ای میلز کو دو SMTP سرورز پر فارورڈ کرنے کے لیے ڈیزائن کیا گیا ہے، اس بات کو یقینی بناتے ہوئے کہ دونوں سرورز کو ایک ہی ای میل موصول ہو۔ ازگر اسکرپٹ، ، کا استعمال کرتا ہے۔ ای میل بھیجنے کو سنبھالنے کے لیے لائبریری۔ یہ درآمد کرتا ہے۔ کمانڈ لائن دلائل حاصل کرنے کے لیے، جیسے بھیجنے والا اور وصول کنندہ۔ سکرپٹ کا استعمال کرتے ہوئے ای میل کی تعمیر from email.mime.text import MIMEText اور ای میل باڈی بنانے اور منسلک کرنے کے لیے۔ اس کے بعد یہ SMTP سرورز کی فہرست پر اعادہ کرتا ہے اور استعمال کرتے ہوئے ہر ایک کو ای میل بھیجتا ہے۔ .
پوسٹ فکس کی طرف، ترتیب میں ترمیم کرنا شامل ہے۔ کسٹم ٹرانسپورٹ سروس کی وضاحت کے لیے فائل، ، جو Python اسکرپٹ استعمال کرتا ہے۔ دی نقل و حمل کے نقشے کو شامل کرنے کے لیے فائل کو اپ ڈیٹ کیا گیا ہے، جس میں اس کی وضاحت کی گئی ہے۔ /etc/postfix/transport. حکم نقل و حمل کے نقشے سے ایک بائنری ڈیٹا بیس بناتا ہے، اور پوسٹ فکس سروس کو روکے بغیر کنفیگریشن تبدیلیاں لاگو کرتا ہے۔ یہ سیٹ اپ یقینی بناتا ہے کہ example.com پر بھیجی گئی کوئی بھی ای میل Python اسکرپٹ کے ذریعے پروسیس کی جاتی ہے اور دونوں SMTP سرورز کو بھیجی جاتی ہے۔
ازگر کے ساتھ ایک سے زیادہ SMTP سرورز پر ای میلز آگے بھیجیں۔
SMTP فارورڈنگ کو ہینڈل کرنے کے لیے ازگر کا استعمال
# multi_forward.py
import smtplib
import sys
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
sender = sys.argv[1]
recipient = sys.argv[2]
def forward_email(sender, recipient):
msg = MIMEMultipart()
msg['From'] = sender
msg['To'] = recipient
msg['Subject'] = 'Forwarded email'
msg.attach(MIMEText('This is the body of the email', 'plain'))
# SMTP servers
smtp_servers = ['james.example.com', 'winmail.example.com']
for server in smtp_servers:
with smtplib.SMTP(server) as smtp:
smtp.sendmail(sender, recipient, msg.as_string())
if __name__ == '__main__':
forward_email(sender, recipient)
ازگر اسکرپٹ کو استعمال کرنے کے لیے پوسٹ فکس کو ترتیب دینا
حسب ضرورت میل فارورڈنگ کے لیے پوسٹ فکس کنفیگریشن
# /etc/postfix/master.cf
multi_forward unix - n n - - pipe
flags=Rhu user=nobody argv=/usr/local/bin/multi_forward.py ${sender} ${recipient}
# /etc/postfix/main.cf
transport_maps = hash:/etc/postfix/transport
# /etc/postfix/transport
example.com multi_forward:
# Update transport map
postmap /etc/postfix/transport
# Reload Postfix
systemctl reload postfix
اضافی ٹولز کے ساتھ پوسٹ فکس فنکشنلٹی کو بڑھانا
متعدد SMTP سرورز پر ای میلز کو فارورڈ کرنے کے لیے ایک اور نقطہ نظر میں اضافی پوسٹ فکس ٹولز اور کنفیگریشنز کا استعمال شامل ہے۔ ایسا ہی ایک ٹول پوسٹ فکس ہے۔ ، جو بھیجنے والے کے پتے کی بنیاد پر مختلف ریلے میزبانوں کی وضاحت کرنے کی اجازت دیتا ہے۔ اگرچہ یہ خصوصیت عام طور پر مختلف ریلے میزبانوں کے ذریعے آؤٹ گوئنگ میل کو روٹ کرنے کے لیے استعمال ہوتی ہے، لیکن اسے کچھ تخلیقی ترتیب کے ساتھ ہمارے استعمال کے معاملے کے لیے ڈھال لیا جا سکتا ہے۔ مثال کے طور پر، کا ایک مجموعہ اور ای میلز کو ڈپلیکیٹ کرنے اور انہیں مختلف پتوں پر فارورڈ کرنے کے لیے استعمال کیا جا سکتا ہے، جو پھر متعلقہ سرورز پر بھیجے جاتے ہیں۔
مزید برآں، پوسٹ فکس کو میل فلٹر جیسے کے ساتھ ضم کرنا یا ای میلز کو ہینڈلنگ اور روٹنگ میں مزید لچک فراہم کر سکتا ہے۔ یہ فلٹرز پوسٹ فکس سے گزرتے ہی ای میلز پر کارروائی کر سکتے ہیں، جس سے حسب ضرورت اسکرپٹس یا قواعد کو نقل کرنے اور متعدد مقامات پر پیغامات کو آگے بھیجنے کی اجازت ملتی ہے۔ اگرچہ یہ سیٹ اپ ایک سادہ Python اسکرپٹ کے استعمال سے زیادہ پیچیدہ ہو سکتا ہے، لیکن یہ ایسے ماحول کے لیے زیادہ قابل اعتماد اور اسکیل ایبلٹی پیش کر سکتا ہے جس میں ای میل پروسیسنگ کی مضبوط صلاحیتوں کی ضرورت ہوتی ہے۔
- میں DNS میں ایک سے زیادہ MX ریکارڈز کو کیسے ترتیب دے سکتا ہوں؟
- بدقسمتی سے، DNS MX ریکارڈز فی ترجیحی سطح پر صرف ایک سرور کی نقشہ سازی کی حمایت کرتے ہیں، اس لیے یہ طریقہ بیک وقت متعدد سرورز کو فارورڈ کرنے کے لیے کام نہیں کرے گا۔
- کا مقصد کیا ہے ہدایت
- دی پوسٹ فکس میں ہدایت ای میل ایڈریسز یا ڈومینز کی میپنگ کو مخصوص میل ٹرانسپورٹ کے طریقوں اور منزلوں کے لیے بتاتی ہے۔
- کر سکتے ہیں۔ اس منظر نامے میں مدد؟
- جی ہاں، بھیجنے والے کے پتے کی بنیاد پر مختلف ریلے ہوسٹس کے ذریعے ای میلز کو روٹ کر سکتے ہیں، لیکن اسے متعدد سرورز پر فارورڈ کرنے کے لیے تخلیقی طور پر ڈھالنے کی ضرورت ہے۔
- وہ کیسے Postfix میں کام کرتے ہیں؟
- دی ہدایت نامہ پوسٹ فکس کو ای میل پتوں کو دوسرے پتوں پر نقشہ کرنے کی اجازت دیتا ہے، ای میلز کو فارورڈنگ اور ری ڈائریکشن کو قابل بناتا ہے۔
- کا کردار کیا ہے۔ ?
- دی ڈائرکٹیو پوسٹ فکس کو خود بخود BCC وصول کنندگان کو آنے والی ای میلز میں شامل کرنے کی اجازت دیتا ہے، جو کہ پیغامات کو نقل کرنے کے لیے مفید ہے۔
- کیا میں استعمال کر سکتا ہوں ای میل فارورڈنگ کے لیے پوسٹ فکس کے ساتھ؟
- جی ہاں، اپنی مرضی کے مطابق فلٹرنگ اور فارورڈنگ کے قوانین کو لاگو کرنے کے لیے پوسٹ فکس کے ساتھ مربوط کیا جا سکتا ہے، ای میل پروسیسنگ پر زیادہ کنٹرول فراہم کرنا۔
- کیا ہے فائل کے لیے استعمال کیا؟
- دی پوسٹ فکس میں فائل میل کی ترسیل کے عمل اور ان کی تشکیلات کی وضاحت کرتی ہے، بشمول حسب ضرورت ٹرانسپورٹ خدمات۔
- میں اپ ڈیٹ کیسے کروں؟ ڈیٹا بیس؟
- کا استعمال کرتے ہیں ٹرانسپورٹ میپ فائل سے بائنری ڈیٹا بیس بنانے یا اپ ڈیٹ کرنے کا کمانڈ۔
- پوسٹ فکس کو دوبارہ لوڈ کرنا کیوں ضروری ہے؟
- پوسٹ فکس کے ساتھ دوبارہ لوڈ کرنا سروس کو روکے بغیر کنفیگریشن تبدیلیاں لاگو کرتا ہے، ہموار آپریشن کو یقینی بناتا ہے۔
- کیا Python میں استعمال کیا جاتا ہے؟
- دی Python میں لائبریری کو SMTP کے ذریعے ای میلز بھیجنے کے لیے استعمال کیا جاتا ہے، اسکرپٹ کو ای میل ٹرانسمیشن کو پروگرام کے مطابق ہینڈل کرنے کی اجازت دیتا ہے۔
متعدد SMTP سرورز پر پیغامات بھیجنے کے لیے پوسٹ فکس ترتیب دینے میں حسب ضرورت اسکرپٹس اور تفصیلی پوسٹ فکس کنفیگریشنز کا مجموعہ شامل ہے۔ اگرچہ DNS یا سادہ Python اسکرپٹس کو استعمال کرنے کی ابتدائی کوششیں مطلوبہ اعتبار کی پیشکش نہیں کر سکتی ہیں، لیکن اعلی درجے کی پوسٹ فکس خصوصیات اور ٹولز جیسے Amavisd-new یا Procmail کو یکجا کرنا زیادہ مضبوط حل فراہم کر سکتا ہے۔ نقل و حمل کے نقشوں، ورچوئل عرفی نقشوں، اور وصول کنندہ کے بی سی سی نقشوں کو احتیاط سے ترتیب دے کر، آپ جیمز اور ون میل سرورز دونوں کو بغیر کسی رکاوٹ اور موثر پیغام کو آگے بھیجنے کو یقینی بنا سکتے ہیں۔ یہ نقطہ نظر اس بات کو یقینی بناتا ہے کہ آپ کا ای میل انفراسٹرکچر لچکدار اور پیچیدہ روٹنگ کی ضروریات کو سنبھالنے کے قابل ہے۔