लॉन्चर उत्पाद Bitnami दस्तावेज़imaxe CLI ब्लॉग संपर्क
imaxe smtp मेल v1.0.0

सुनिश्चित करें कि आपके अलर्ट पहुँचें

सर्वर के आउटबाउंड मेल को किसी smarthost (SES, एक कॉर्पोरेट relay…) के माध्यम से कॉन्फ़िगर करें और एक परीक्षण भेजकर पुष्टि करें कि यह काम करता है। एक आदेश इसे सेट करता है; उसके बाद, आपकी सिस्टम सूचनाएँ सचमुच बाहर जाती हैं।

$ 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 मॉड्यूल इसे होस्ट के आउटबाउंड मेल को किसी smarthost (एक relay जो वास्तव में पहुँचाने के लिए अधिकृत है: Amazon SES, एक कॉर्पोरेट मेल सर्वर, आपका प्रदाता…) के विरुद्ध कॉन्फ़िगर करके हल करता है। यह postfix को समायोजित करता है ताकि यह सभी सिस्टम मेल को उस smarthost पर अग्रेषित करे, पासवर्ड को सुरक्षित रूप से संग्रहीत करता है, प्रेषक को पुनर्लेखित करता है ताकि वह एक वैध हो, और आपको भेजने का परीक्षण करने देता है ताकि पुष्टि हो कि यह पहुँचता है — कुछ विफल होने पर वास्तविक त्रुटि की रिपोर्ट करते हुए।

शुरू करने से पहले

अपने smarthost का विवरण तैयार रखें: host, port (आमतौर पर 587), और यदि इसे प्रमाणीकरण चाहिए तो क्रेडेंशियल। पासवर्ड कमांड लाइन पर नहीं दिया जाता: इसे stdin से या सीक्रेट्स स्टोर से पढ़ा जाता है, ताकि यह कभी आपके इतिहास में न पहुँचे।

त्वरित गाइडचरण-दर-चरण कार्य

सामान्य कार्य #

चुनें कि आप क्या करना चाहते हैं। हर रेसिपी में आदेश पहले से लिखा हुआ आता है — बस अपने smarthost और प्रेषक को डालें और कॉपी करें दबाएँ।

1

मेल relay कॉन्फ़िगर करें

सर्वर को अपने smarthost की ओर इंगित करें ताकि मेल सचमुच बाहर जाए।

ubuntu उपयोगकर्ता के साथ SSH से अपने सर्वर पर कनेक्ट करें।

अपने smarthost विवरण के साथ आदेश चलाएँ। पासवर्ड stdin के माध्यम से पूछा जाता है, ताकि यह कभी आपके इतिहास में न पहुँचे:

terminal
$ sudo imaxe smtp configure \
    --host email-smtp.eu-west-1.amazonaws.com \
    --user AKIAIOSFODNN7EXAMPLE \
    --from [email protected]

यदि आपके smarthost को प्रमाणीकरण नहीं चाहिए, तो --user छोड़ें। किसी भिन्न पोर्ट या TLS मोड के लिए, --port या --no-tls जोड़ें।

Postfix अब सभी सिस्टम मेल को आपके smarthost पर अग्रेषित करने के लिए सेट है, प्रेषक को [email protected] में पुनर्लेखित करते हुए। एक परीक्षण ईमेल भेजें रेसिपी के साथ जारी रखें।
2

एक परीक्षण ईमेल भेजें

अलर्ट पर भरोसा करने से पहले पुष्टि करें कि कोई संदेश बाहर जाता है और पहुँचता है।

किसी ऐसे पते पर एक परीक्षण ईमेल भेजें जहाँ आप इसकी जाँच कर सकें:

terminal
$ sudo imaxe smtp test --to [email protected]

यदि आप --to छोड़ते हैं, तो यह कॉन्फ़िगर किए गए प्रेषक को भेजा जाता है। डिलीवरी की पुष्टि के लिए अपना इनबॉक्स (और स्पैम फ़ोल्डर) जाँचें।

यदि ईमेल पहुँचता है, तो आपका सर्वर अब आपको सूचित कर सकता है। यदि यह विफल होता है, तो आदेश आपको वास्तविक MTA त्रुटि दिखाता है ताकि आप जानें कि क्या ठीक करना है।
3

मेल स्थिति देखें

एक नज़र में जाँचें कि relay कॉन्फ़िगर और सक्रिय है या नहीं।

relay, smarthost, प्रेषक और MTA स्थिति का सारांश:

terminal
$ sudo imaxe smtp status

किसी स्क्रिप्ट या डैशबोर्ड के लिए चाहिए? मशीन-पठनीय आउटपुट के लिए --json जोड़ें:

terminal
$ sudo imaxe smtp status --json
आप तुरंत जान जाएँगे कि आउटबाउंड मेल तैयार है या अभी कॉन्फ़िगर करना बाकी है।
4

प्रभावी कॉन्फ़िगरेशन देखें

पासवर्ड उजागर किए बिना सक्रिय सेटिंग्स जाँचें।

वास्तव में उपयोग में host, port, user, प्रेषक और TLS मोड दिखाता है (पासवर्ड कभी नहीं छापा जाता):

terminal
$ sudo imaxe smtp show
किसी परीक्षण भेजने से पहले कोई सेटिंग सत्यापित करने के लिए, या होस्ट की कॉन्फ़िगरेशन दस्तावेज़ करने के लिए आदर्श।
5

relay हटाएँ

अग्रेषण अक्षम करें और postfix को उसकी पिछली स्थिति में लौटाएँ।

आउटबाउंड मेल relay अक्षम करें और आधार postfix कॉन्फ़िगरेशन पुनर्स्थापित करें:

terminal
$ sudo imaxe smtp remove
सर्वर smarthost के माध्यम से अग्रेषण करना बंद कर देता है। आप जब चाहें configure से इसे फिर सेट कर सकते हैं।
परीक्षण ईमेल नहीं पहुँच रहा?

सबसे आम कारण यह है कि प्रेषक smarthost पर सत्यापित नहीं है (SES को डोमेन या --from पते को सत्यापित करना आवश्यक है), या क्रेडेंशियल गलत हैं। imaxe smtp test चलाएँ: यह वास्तविक MTA त्रुटि लौटाता है ताकि आप ठीक-ठीक जानें कि क्या समायोजित करना है।

CLI संदर्भआदेश, फ़्लैग और फ़ाइलें

सारांश #

उपयोग
imaxe smtp <subcomando> [--host HOST] [--from CORREO] [flags]

सभी उपआदेशों के लिए root विशेषाधिकार आवश्यक हैं (sudo का उपयोग करें) क्योंकि वे postfix कॉन्फ़िगरेशन को छूते हैं, /etc/imaxe/ में लिखते हैं और सिस्टम सेवाओं को पुनः लोड करते हैं। smarthost पासवर्ड कभी फ़्लैग के रूप में नहीं दिया जाता: इसे stdin से या सीक्रेट्स स्टोर से पढ़ा जाता है। मशीन-पठनीय आउटपुट के लिए, जो स्क्रिप्टिंग के लिए उपयुक्त है, status या show में --json जोड़ें।

उपआदेश #

उपआदेशयह क्या करता हैप्रासंगिक फ़्लैग
configureआउटबाउंड मेल relay को किसी smarthost के विरुद्ध कॉन्फ़िगर करता है। पासवर्ड सीक्रेट्स/stdin से पढ़ा जाता है।--host, --port, --user, --from, --tls / --no-tls
testएक परीक्षण ईमेल भेजता है और विफल होने पर वास्तविक MTA त्रुटि की रिपोर्ट करता है।--to
statusस्थिति: relay कॉन्फ़िगर, smarthost, प्रेषक और MTA सक्रिय।--json
showप्रभावी कॉन्फ़िगरेशन दिखाता है, पासवर्ड उजागर किए बिना।--json
removerelay अक्षम करता है और postfix पुनर्स्थापित करता है।

आर्गुमेंट और फ़्लैग #

फ़्लैगप्रकारडिफ़ॉल्टविवरण
--host आव.stringमेल अग्रेषित करने के लिए SMTP smarthost (जैसे email-smtp.eu-west-1.amazonaws.com)। configure के लिए आवश्यक।
--portint587smarthost का SMTP पोर्ट।
--userstringप्रमाणीकरण के लिए SMTP उपयोगकर्ता। यदि छोड़ा जाए, तो relay बिना प्रमाणीकरण के कॉन्फ़िगर होता है।
--fromstringसभी संदेशों के प्रेषक को पुनर्लेखित करता है (sender_canonical)। smarthost पर सत्यापित पते का उपयोग करने के लिए उपयोगी।
--tls / --no-tlsbool--tlssmarthost से कनेक्शन पर 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अमान्य या अनुपस्थित आर्गुमेंट।
3CONFIGrelay कॉन्फ़िगर नहीं है या कॉन्फ़िगरेशन अधूरी है।
4AUTHsmarthost ने क्रेडेंशियल अस्वीकार कर दिए।
5SENDपरीक्षण भेजना MTA पर विफल हुआ (रिपोर्ट की गई त्रुटि देखें)।

किसी भेजने को डिबग करते समय मेल लॉग को लाइव देखें:

terminal
$ sudo tail -f /var/log/mail.log
$ sudo imaxe smtp test --to [email protected]

समस्या निवारण #

लक्षणसंभावित कारणसमाधान
AUTH (कोड 4) लौटाता हैगलत smarthost उपयोगकर्ता या पासवर्ड।--user जाँचें और configure फिर चलाएँ, stdin के माध्यम से पासवर्ड दोबारा दर्ज करते हुए।
SEND (कोड 5) लौटाता है, प्रेषक अस्वीकृत--from पता smarthost पर सत्यापित नहीं है (SES के साथ सामान्य)।प्रदाता के साथ डोमेन या पता सत्यापित करें और test पुनः प्रयास करें।
CONFIG (कोड 3) लौटाता हैइस होस्ट पर relay अभी कॉन्फ़िगर नहीं है।अपने smarthost विवरण के साथ imaxe smtp configure चलाएँ।
मेल बाहर जाता है पर स्पैम में पहुँचता हैप्रेषक के डोमेन पर SPF/DKIM संरेखण गायब है।--from डोमेन के लिए मेल प्रदाता के रिकॉर्ड सेट करें।

मेल मॉड्यूल में अटक गए?

हमें «imaxe <module> status --json» का आउटपुट भेजें और हम आपको जल्दी जवाब देंगे।

सहायता से संपर्क करें