एक अच्छे दिन, बिना किसी स्पष्ट कारण के, मेरे Ubuntu 18.04 बिजनेस सर्वर ने मेरे Gmail पते पर मेल फॉरवर्ड करना बंद कर दिया।
सिर्फ एक दिन पहले, स्थानीय सर्वर अकाउंट्स की होम डायरेक्टरी में मैंने जो .forward फ़ाइलें बनाई थीं - जैसे /home/office/.forward - खुशी-खुशी मेरे बिजनेस पतों पर आने वाले सभी मेल को मेरे दैनिक उपयोग के Gmail अकाउंट पर रीडायरेक्ट कर रही थीं। और फिर वे अचानक रुक गईं।
जब मैंने देखा कि कुछ गलत है, तो मैंने तुरंत अपने सर्वर लॉग्स की जांच की। /var/log/mail.err ऐसे आकर्षक संदेश दे रहा था जिनमें शामिल थे:
status=deferred (delivery temporarily suspended: connect to alt2.gmail-smtp-in.l.google.com[219.8.202.27]:25: Connection timed out)
सर्वर मेलबॉक्स की जांच करने से पता चला कि मेल आ रहा था, लेकिन Postfix मेरे पते पर संदेशों को फॉरवर्ड करने के लिए Gmail से कनेक्शन स्थापित नहीं कर सका।
स्वाभाविक रूप से मैंने Postfix को रीस्टार्ट किया, लेकिन इससे मदद नहीं मिली।
sudo systemctl restart postfix
मैंने पुष्टि की कि पोर्ट 25 (SMTP) पर मेरे सर्वर से आउटगोइंग संदेशों को ब्लॉक करने वाला कुछ भी नहीं था। फिर मैंने यह सुनिश्चित करने के लिए जांच की कि मेरा डोमेन किसी तरह ब्लैकलिस्ट तो नहीं हो गया (कई ऑनलाइन टूल हैं जो आपके लिए ऐसा करेंगे), और कमांड लाइन से dig चलाकर अपने MX रिकॉर्ड्स की स्थिति को देखा:
dig MX bootstrap-it.com
कुछ नहीं। सब कुछ ठीक लग रहा था।
कुछ निराशाजनक समस्या निवारण सत्रों के बाद मैंने हार मान ली और कुछ पूरी तरह से अलग करने का फैसला किया।
एक AWS समाधान वास्तुकार होने और AWS पर Wiley/Sybex के लिए दो किताबें सह-लेखन करने के बाद (एक क्लाउड प्रैक्टिशनर्स परीक्षा के लिए गाइड और एक सॉल्यूशंस आर्किटेक्ट एसोसिएट परीक्षा के लिए), क्या मुझे AWS टूल्स का अपना स्टैक बनाने के लिए तैयार और सक्षम नहीं होना चाहिए जो क्लाउड में मेरी ईमेल सर्वर आवश्यकताओं को संभालेगा?
खैर, यह पता चला कि मैं दोनों तैयार और - कुछ गंभीर शोध और परीक्षण और त्रुटि के बाद - सक्षम था। इसे पूरा करने के लिए आवश्यक होगा:
- एक S3 बकेट बनाना जहां आने वाले ईमेल संग्रहीत किए जाएंगे।
- एक सिंपल नोटिफिकेशन सर्विस (SNS) टॉपिक बनाना जो मुझे हर बार एक नया ईमेल आने पर ईमेल से सूचित करे।
- Amazon के सिंपल ईमेल सर्विस (SES) को कॉन्फ़िगर करना ताकि वह मेरे ईमेल डोमेन (bootstrap-it.com) को संभाले और इनकमिंग मेल को हैंडल करे। इसमें Route 53 (जहां मेरे डोमेन प्रबंधित हैं) में एक MX रिकॉर्ड जोड़ना और SES को मेरे डोमेन पर इंगित करना शामिल है; प्रत्येक ईमेल पते को जोड़ना और सत्यापित करना जिसे मैं SES को नियंत्रित करना चाहता हूं; और फिर SES को नए संदेशों को मेरे S3 बकेट में भेजने के लिए कहना जबकि SNS टॉपिक के लिए अलर्ट भी ट्रिगर करना।
- यह मानते हुए कि आप सेवा के माध्यम से ईमेल संदेश भेजना भी चाहेंगे, SES को अपने आउटगोइंग संदेशों पर डोमेनकीज आइडेंटिफाइड मेल (DKIM) का उपयोग करके हस्ताक्षर करने के लिए कॉन्फ़िगर करना भी एक अच्छा विचार है।
मैं यहां उन सभी चरणों का विस्तार से वर्णन नहीं करने जा रहा हूं। उसके लिए उत्कृष्ट दस्तावेज़ीकरण उपलब्ध है। लेकिन मैं कुछ दर्द बिंदुओं का संक्षिप्त उल्लेख करूंगा जिनका आप सामना कर सकते हैं।
आपके द्वारा उपयोग किए जा रहे प्रत्येक डोमेन के लिए आपको अपने DNS होस्टेड ज़ोन में एक MX रिकॉर्ड जोड़ना होगा। भले ही आपके डोमेन Amazon के Route 53 के भीतर प्रबंधित हों, आपको अपने रिकॉर्ड के लिए एक मान प्रदान करना होगा।
आप उस मान के लिए क्या उपयोग करते हैं यह इस बात पर निर्भर करेगा कि आपका SES संसाधन किस AWS क्षेत्र में स्थित है। मेरे मामले में, यह ऐसा दिखता था:
10 inbound-smtp.us-east-1.amazonaws.com
SNS सूचनाएं उपयोगी लेकिन पढ़ने में कठिन जानकारी के कुछ छोटे टुकड़ों वाली टेक्स्ट की एक लंबी स्ट्रिंग के रूप में आएंगी। यह स्पैम की पहचान करने के लिए पर्याप्त होगा, लेकिन आपको आमतौर पर यहां मिलने वाली जानकारी से अधिक की आवश्यकता होगी। मैं सूचनाओं का उपयोग अपने S3 बकेट में नए मेल होने की सूचना देने वाले हेड्स-अप के रूप में करता हूं।
AWS मैनेजमेंट कंसोल के माध्यम से अपने S3 बकेट के भीतर ईमेल देखना दुनिया का अंत नहीं है अगर यह महीने में एक या दो बार होता है। लेकिन अगर वे इससे तेजी से आ रहे हैं, तो आपको अपने संदेशों तक पहुंचने और पढ़ने का एक बेहतर तरीका ढूंढना होगा।
हालांकि, उस प्रक्रिया को स्वचालित करने के लिए एक प्रोटोकॉल बनाना वास्तव में एक स्थानीय ऑपरेटिंग सिस्टम समस्या है जिसके लिए पूरी तरह से अलग टूल्स के सेट की आवश्यकता होती है। मैंने AWS CLI और एक कूल Bash स्क्रिप्ट का उपयोग करके अपने लिए इस समस्या को हल किया। यदि आप देखना चाहते हैं कि मैंने यह कैसे किया, तो इस लेख पर क्लिक करें।
मेरे bootstrap-it.com पर किताबों, पाठ्यक्रमों, और लेखों के रूप में बहुत अधिक प्रशासन अच्छाई उपलब्ध है।