2008-09-04 19 views
6

के पीछे sendmail को कॉन्फ़िगर करना मैं एक सर्वर स्थापित कर रहा हूं जो फ़ायरवॉल के पीछे नेटवर्क पर है और मैं चाहता हूं कि इस कंप्यूटर पर प्रोग्राम किसी भी ईमेल पते पर ईमेल भेजने के लिए sendmail का उपयोग करने में सक्षम हों। हमारे पास इस नेटवर्क पर चल रहा एक एसएमटीपी सर्वर है (चलिए इसे mailrelay.example.com कहते हैं) इस तरह हम फ़ायरवॉल के माध्यम से आउटगोइंग ईमेल प्राप्त करना चाहते हैं।फ़ायरवॉल

तो मैं mailrelay.example.com के माध्यम से सभी मेल भेजने के लिए sendmail को कैसे कॉन्फ़िगर कर सकता हूं? गुगलिंग ने मुझे अभी तक जवाब नहीं दिया है, और केवल यह खुलासा किया है कि sendmail कॉन्फ़िगरेशन बेहद जटिल और परेशान है।

उत्तर

11

@ एली: sendmail.cf को संशोधित करना आमतौर पर अनुशंसित नहीं होता है, क्योंकि यह मैक्रो कंपाइलर द्वारा उत्पन्न होता है।

define(`SMART_HOST',`mailrelay.example.com')dnl 

sendmail.mc मैक्रो विन्यास फाइल बदलने के बाद, यह कंपाइल किया जाना चाहिए sendmail विन्यास फाइल के उत्पादन के लिए:

संपादित /etc/mail/sendmail.mc लाइन शामिल करने के लिए।

# m4 /etc/mail/sendmail.mc > /etc/sendmail.cf 

और sendmail सेवा पुन: प्रारंभ (लिनक्स):

# /etc/init.d/sendmail restart 

साथ ही स्मार्टहोस्ट सेटिंग के रूप में, आप भी नाम संकल्प विन्यास को निष्क्रिय और संभवतः अमानक पोर्ट करने के लिए अपने sendmail शिफ्ट करने के लिए चाहते हो सकता है, या डेमॉन मोड अक्षम करें।

अक्षम नाम संकल्प

सर्वर कि आग दीवारों नेटवर्क के भीतर कर रहे हैं या नेटवर्क पता अनुवाद (एनएटी) DNS या एनआईएस सेवाएं उपलब्ध नहीं हो सकता है का उपयोग कर।यह sendmail के लिए एक समस्या पैदा करता है, क्योंकि यह डिफ़ॉल्ट रूप से डीएनएस का उपयोग करेगा, और आप mailq में इस तरह के संदेश पाएंगे अगर यह उपलब्ध नहीं है:

host map: lookup (mydomain.com): deferred) 

आप सेटअप एक उपयुक्त DNS या एनआईएस के लिए तैयार हैं जब तक सेवा sendmail का उपयोग कर सकते हैं, इस स्थिति में आप आम तौर पर/etc/hosts फ़ाइल का उपयोग करके नाम संकल्प को कॉन्फ़िगर करेंगे। यह, एक 'service.switch' फ़ाइल को सक्षम करने और फ़ाइल द्वारा संकल्प निर्दिष्ट करके किया जाता इस प्रकार है:

1: पंक्तियों को शामिल कर /etc/mail/sendmail.mc sendmail संपादित करें के लिए service.switch सक्षम करें:

define(`confSERVICE_SWITCH_FILE',`/etc/mail/service.switch')dnl 

2: फ़ाइलों के लिए service.switch कॉन्फ़िगर या केवल करने के लिए/उल्लेख करने के लिए /etc/mail/service.switch संशोधित etc/नाम समाधान के लिए मेजबान:

# cat /etc/mail/service.switch 
    hosts files 

3: Recompil e sendmail.mc और इस सेटिंग को प्रभावी होने के लिए sendmail को पुनरारंभ करें।

अमानक पोर्ट करने के लिए sendmail शिफ्ट करें, या अक्षम डेमॉन मोड

डिफ़ॉल्ट रूप से, sendmail आप विभिन्न कारणों के लिए पूरी तरह से इस बंदरगाह बदलने के लिए या sendmail डेमॉन मोड अक्षम कर सकते हैं पोर्ट 25 पर सुनेगा: - यदि ज्ञात बंदरगाहों के उपयोग को प्रतिबंधित करने वाली सुरक्षा नीति है - यदि मानक पोर्ट पर एक ही होस्ट पर एक और एसएमटीपी उत्पाद/प्रक्रिया चलाना है - यदि आप smtp के माध्यम से मेल स्वीकार नहीं करना चाहते हैं , बस इसे sendmail

का उपयोग करके भेजें: 1: गैर-मानक पोर्ट का उपयोग करने के लिए sendmail को स्थानांतरित करने के लिए। संपादित /etc/mail/sendmail.mc और संशोधित "पोर्ट" पंक्ति में स्थापित करने:

DAEMON_OPTIONS(`Port=125,Addr=127.0.0.1, Name=MTA') 

यह sendmail की आवश्यकता होगी:

DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA') 

उदाहरण के लिए, बंदरगाह 125 उपयोग करने के लिए sendmail पाने के लिए rempiled करने के लिए .mc और पुन: प्रारंभ करने के लिए sendmail।

2: वैकल्पिक रूप से, sendmail डेमॉन मोड पूरी तरह (लिनक्स) संपादित करें/etc/sysconfig/sendmail को निष्क्रिय और "डेमॉन" के लिए सेटिंग को संशोधित करने के:

DAEMON=no 

यह परिवर्तन पुन: प्रारंभ करने sendmail की आवश्यकता होगी।

+0

धन्यवाद! 'Service.switch 'के बारे में उस युक्ति ने मेरी समस्या हल की। –

5

http://www.elandsys.com/resources/sendmail/smarthost.html

सेंडमेल Smarthost

एक स्मार्टहोस्ट एक मेजबान के माध्यम से जो जाने वाली मेल रिले की जाती है है। कुछ आईएसपी ब्लॉक आउटगोइंग एसएमटीपी ट्रैफिक (पोर्ट 25) और उनके उपयोगकर्ताओं को आईएसपी के मेल सर्वर के माध्यम से सभी मेल भेजने की आवश्यकता है। Sendmail को पर कॉन्फ़िगर किया जा सकता है आईएसपी के मेल सर्वर का उपयोग स्मार्ट होस्ट के रूप में करें।

इसे सेट अप करने के लिए निर्देश के लिए लिंक किए गए आलेख को पढ़ें।

3

@Espo: कहां से शुरू करना है, इस बारे में महान सलाह के लिए धन्यवाद। आपका लिंक बेहतर होगा अगर मैं मौजूदा कॉन्फ़िगरेशन लेने और इस छोटे बदलाव को करने के बजाय अपने पहले उपयोग के लिए sendmail को कॉन्फ़िगर कर रहा था। हालांकि, एक बार जब मैं "स्मार्टहोस्ट" पर सामान ढूंढने के बारे में जानता था, तो मुझे एक आसान तरीका मिला।

सभी मैं करना था संपादित बदलने के लिए मेरी /etc/mail/sendmail.cf फ़ाइल

DS 

को

DSmailrelay.example.com 

तो sendmail को पुनः आरंभ था और यह काम किया।

संबंधित मुद्दे