दोहरी एसएमटीपी अग्रेषण की स्थापना
समान उपयोगकर्ता खातों के साथ एकाधिक ईमेल सर्वर प्रबंधित करना चुनौतीपूर्ण हो सकता है। इस परिदृश्य में, जब example.com पर किसी उपयोगकर्ता को एक ईमेल भेजा जाता है, तो इसे जेम्स और विनमेल सर्वर दोनों द्वारा प्राप्त किया जाना चाहिए, यह सुनिश्चित करते हुए कि ईमेल सामग्री अपरिवर्तित रहे।
सामान्य समाधान, जैसे DNS में एकाधिक एमएक्स रिकॉर्ड कॉन्फ़िगर करना, कम पड़ जाते हैं क्योंकि वे example.com को एक समय में केवल एक ही सर्वर पर निर्देशित कर सकते हैं। स्थानीय भंडारण के बिना दोनों सर्वरों पर ईमेल अग्रेषित करने के लिए पोस्टफ़िक्स का उपयोग करना जटिल साबित हुआ है, जिससे smtplib के साथ स्क्रिप्टिंग जैसे समाधान सामने आए हैं, जो विश्वसनीय नहीं हो सकते हैं। आइए बेहतर विकल्प तलाशें।
| आज्ञा | विवरण |
|---|---|
| import smtplib | पायथन का उपयोग करके ईमेल भेजने के लिए सरल मेल ट्रांसफर प्रोटोकॉल लाइब्रेरी आयात करता है। |
| import sys | कमांड-लाइन तर्क प्राप्त करने के लिए उपयोग किए जाने वाले सिस्टम-विशिष्ट पैरामीटर और फ़ंक्शन मॉड्यूल को आयात करता है। |
| from email.mime.text import MIMEText | टेक्स्ट-आधारित ईमेल संदेश बनाने के लिए MIMEText क्लास आयात करता है। |
| from email.mime.multipart import MIMEMultipart | मल्टीपार्ट ईमेल संदेश बनाने के लिए MIMEMultipart क्लास को आयात करता है। |
| msg.attach(MIMEText('text', 'plain')) | ईमेल संदेश में एक सादा पाठ्य भाग संलग्न करता है। |
| with smtplib.SMTP(server) as smtp | एसएमटीपी सर्वर से कनेक्शन खोलता है और सुनिश्चित करता है कि ईमेल भेजने के बाद यह ठीक से बंद हो गया है। |
| postmap /etc/postfix/transport | मेल रूटिंग के लिए पोस्टफ़िक्स द्वारा उपयोग किए जाने वाले ट्रांसपोर्ट मैप फ़ाइल से एक बाइनरी डेटाबेस उत्पन्न करता है। |
| systemctl reload postfix | सेवा को रोके बिना, किए गए किसी भी परिवर्तन को लागू किए बिना पोस्टफ़िक्स कॉन्फ़िगरेशन को पुनः लोड करता है। |
पोस्टफ़िक्स और पायथन इंटीग्रेशन को समझना
प्रदान की गई स्क्रिप्ट को दो एसएमटीपी सर्वरों को ईमेल अग्रेषित करने के लिए डिज़ाइन किया गया है, यह सुनिश्चित करते हुए कि दोनों सर्वरों को एक ही ईमेल प्राप्त हो। पायथन लिपि, , का उपयोग करता है ईमेल भेजने को संभालने के लिए लाइब्रेरी। यह आयात करता है प्रेषक और प्राप्तकर्ता जैसे कमांड-लाइन तर्क प्राप्त करने के लिए। स्क्रिप्ट का उपयोग करके ईमेल का निर्माण किया जाता है from email.mime.text import MIMEText और ईमेल का मुख्य भाग बनाने और संलग्न करने के लिए। इसके बाद यह एसएमटीपी सर्वरों की एक सूची को दोहराता है और उपयोग करने वाले प्रत्येक सर्वर को ईमेल भेजता है .
पोस्टफ़िक्स पक्ष पर, कॉन्फ़िगरेशन में संशोधन शामिल है कस्टम परिवहन सेवा को परिभाषित करने के लिए फ़ाइल, , जो पायथन लिपि का उपयोग करता है। फ़ाइल को परिवहन मानचित्र शामिल करने के लिए अद्यतन किया गया है, जो इसमें निर्दिष्ट है /etc/postfix/transport. आदेश ट्रांसपोर्ट मैप से एक बाइनरी डेटाबेस बनाता है, और पोस्टफ़िक्स सेवा को रोके बिना कॉन्फ़िगरेशन परिवर्तन लागू करता है। यह सेटअप सुनिश्चित करता है कि example.com पर भेजा गया कोई भी ईमेल पायथन स्क्रिप्ट द्वारा संसाधित किया जाता है और दोनों SMTP सर्वरों को अग्रेषित किया जाता है।
पायथन के साथ एकाधिक एसएमटीपी सर्वर पर ईमेल अग्रेषित करें
एसएमटीपी अग्रेषण को संभालने के लिए पायथन का उपयोग करना
# multi_forward.pyimport smtplibimport sysfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartsender = sys.argv[1]recipient = sys.argv[2]def forward_email(sender, recipient):msg = MIMEMultipart()msg['From'] = sendermsg['To'] = recipientmsg['Subject'] = 'Forwarded email'msg.attach(MIMEText('This is the body of the email', 'plain'))# SMTP serverssmtp_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.cfmulti_forward unix - n n - - pipeflags=Rhu user=nobody argv=/usr/local/bin/multi_forward.py ${sender} ${recipient}# /etc/postfix/main.cftransport_maps = hash:/etc/postfix/transport# /etc/postfix/transportexample.com multi_forward:# Update transport mappostmap /etc/postfix/transport# Reload Postfixsystemctl reload postfix
अतिरिक्त टूल के साथ पोस्टफ़िक्स कार्यक्षमता को बढ़ाना
एकाधिक एसएमटीपी सर्वरों पर ईमेल अग्रेषित करने के लिए एक अन्य दृष्टिकोण में अतिरिक्त पोस्टफ़िक्स टूल और कॉन्फ़िगरेशन का उपयोग करना शामिल है। ऐसा ही एक टूल है पोस्टफ़िक्स , जो प्रेषक के पते के आधार पर विभिन्न रिले होस्ट निर्दिष्ट करने की अनुमति देता है। हालांकि इस सुविधा का उपयोग आम तौर पर विभिन्न रिले होस्ट के माध्यम से आउटगोइंग मेल को रूट करने के लिए किया जाता है, इसे कुछ रचनात्मक कॉन्फ़िगरेशन के साथ हमारे उपयोग के मामले में अनुकूलित किया जा सकता है। उदाहरण के लिए, का एक संयोजन और इसका उपयोग ईमेल की नकल बनाने और उन्हें अलग-अलग पतों पर अग्रेषित करने के लिए किया जा सकता है, जिन्हें बाद में संबंधित सर्वर पर भेज दिया जाता है।
इसके अतिरिक्त, पोस्टफ़िक्स को मेल फ़िल्टर के साथ एकीकृत करना जैसे या ईमेल को संभालने और रूट करने में अधिक लचीलापन प्रदान कर सकता है। ये फ़िल्टर ईमेल को पोस्टफ़िक्स से गुजरते समय संसाधित कर सकते हैं, जिससे कस्टम स्क्रिप्ट या नियमों को डुप्लिकेट करने और संदेशों को कई गंतव्यों तक अग्रेषित करने की अनुमति मिलती है। हालांकि यह सेटअप एक साधारण पायथन स्क्रिप्ट का उपयोग करने से अधिक जटिल हो सकता है, यह मजबूत ईमेल प्रोसेसिंग क्षमताओं की आवश्यकता वाले वातावरण के लिए अधिक विश्वसनीयता और स्केलेबिलिटी प्रदान कर सकता है।
- मैं डीएनएस में एकाधिक एमएक्स रिकॉर्ड कैसे कॉन्फ़िगर कर सकता हूं?
- दुर्भाग्य से, DNS MX रिकॉर्ड प्राथमिकता स्तर पर केवल एक सर्वर पर मैपिंग का समर्थन करते हैं, इसलिए यह दृष्टिकोण एक साथ कई सर्वरों पर अग्रेषित करने के लिए काम नहीं करेगा।
- का उद्देश्य क्या है निर्देश?
- पोस्टफ़िक्स में निर्देश विशिष्ट मेल परिवहन विधियों और गंतव्यों के लिए ईमेल पते या डोमेन की मैपिंग को निर्दिष्ट करता है।
- कर सकना इस परिदृश्य में मदद?
- हाँ, प्रेषक के पते के आधार पर विभिन्न रिले होस्ट के माध्यम से ईमेल को रूट किया जा सकता है, लेकिन इसे कई सर्वरों पर अग्रेषित करने के लिए रचनात्मक रूप से अनुकूलित करने की आवश्यकता है।
- कैसे हुआ पोस्टफिक्स में काम करते हैं?
- निर्देश पोस्टफ़िक्स को ईमेल पते को अन्य पते पर मैप करने की अनुमति देता है, जिससे ईमेल को अग्रेषित और पुनर्निर्देशन सक्षम किया जा सकता है।
- की क्या भूमिका है ?
- निर्देश पोस्टफ़िक्स को स्वचालित रूप से आने वाले ईमेल में बीसीसी प्राप्तकर्ताओं को जोड़ने की अनुमति देता है, जो संदेशों की नकल करने के लिए उपयोगी है।
- क्या मैं उपयोग कर सकता हूँ ईमेल अग्रेषण के लिए पोस्टफ़िक्स के साथ?
- हाँ, कस्टम फ़िल्टरिंग और फ़ॉरवर्डिंग नियमों को लागू करने के लिए पोस्टफ़िक्स के साथ एकीकृत किया जा सकता है, जिससे ईमेल प्रोसेसिंग पर अधिक नियंत्रण मिलता है।
- क्या है फ़ाइल का उपयोग किसके लिए किया जाता है?
- पोस्टफ़िक्स में फ़ाइल कस्टम परिवहन सेवाओं सहित मेल वितरण प्रक्रियाओं और उनके कॉन्फ़िगरेशन को परिभाषित करती है।
- मैं इसे कैसे अपडेट करूं डेटाबेस?
- उपयोग ट्रांसपोर्ट मैप फ़ाइल से बाइनरी डेटाबेस बनाने या अपडेट करने का आदेश।
- पोस्टफ़िक्स को पुनः लोड करना क्यों महत्वपूर्ण है?
- पोस्टफ़िक्स को पुनः लोड करना सेवा को रोके बिना कॉन्फ़िगरेशन परिवर्तन लागू करता है, जिससे सुचारू संचालन सुनिश्चित होता है।
- क्या है पायथन में किसके लिए उपयोग किया जाता है?
- पायथन में लाइब्रेरी का उपयोग एसएमटीपी के माध्यम से ईमेल भेजने के लिए किया जाता है, जिससे स्क्रिप्ट को प्रोग्रामेटिक रूप से ईमेल ट्रांसमिशन को संभालने की अनुमति मिलती है।
कई एसएमटीपी सर्वरों पर संदेशों को अग्रेषित करने के लिए पोस्टफ़िक्स को सेट करने में कस्टम स्क्रिप्ट और विस्तृत पोस्टफ़िक्स कॉन्फ़िगरेशन का संयोजन शामिल है। जबकि DNS या सरल पायथन स्क्रिप्ट का उपयोग करने वाले शुरुआती प्रयास आवश्यक विश्वसनीयता प्रदान नहीं कर सकते हैं, उन्नत पोस्टफ़िक्स सुविधाओं और Amavisd-new या Procmail जैसे टूल को एकीकृत करने से अधिक मजबूत समाधान प्रदान किया जा सकता है। ट्रांसपोर्ट मैप, वर्चुअल उपनाम मैप और प्राप्तकर्ता बीसीसी मैप को सावधानीपूर्वक कॉन्फ़िगर करके, आप जेम्स और विनमेल सर्वर दोनों के लिए निर्बाध और कुशल संदेश अग्रेषण सुनिश्चित कर सकते हैं। यह दृष्टिकोण सुनिश्चित करता है कि आपका ईमेल बुनियादी ढांचा लचीला और जटिल रूटिंग आवश्यकताओं को संभालने में सक्षम बना रहे।