पृष्ठभूमि: यदि आपने विकास के उद्देश्यों के लिए एक स्थानीय अपाचे सर्वर स्थापित किया है, तो आप उस समस्या में भाग सकते हैं, जहां ईमेल भेजने में ईमेल भेजने में कम से कम एक मिनट (कम से कम एक मिनट) लगता है। यदि आप अपने द्वारा बनाई गई ईमेल से किसी समस्या को डीबग करने का प्रयास कर रहे हैं तो यह बेहद निराशाजनक है।
इंटरनेट पर कई फ़ोरम पोस्ट हैं जो इस समस्या पर चर्चा करते हैं। हालाँकि, किसी भी विषय ने यह नहीं बताया कि मेरे सीमित ज्ञान के लिए पर्याप्त विवरण में क्या करना है। यहाँ कदम है कि मेरे लिए काम कर रहे हैं:
1) इस आदेश का उपयोग करके अपना होस्टनाम (यदि आप इसे भूल गए हैं) खोजें:
:~$ cat /hosts/hostname
myhostname
2) फ़ाइल को संपादित करें /etc/hosts
और सुनिश्चित करें कि पहली पंक्ति निम्नलिखित है:
127.0.0.1 localhost.localdomain localhost myhostname
3) Sendmail कॉन्फ़िगरेशन फ़ाइल ( /etc/mail/sendmail.cf
उबंटू में ) को संपादित करें और लाइन को अनलॉक करें#O HostsFile=/etc/hosts
4) कंप्यूटर को पुनरारंभ करें। कंप्यूटर को अब बहुत तेजी से बूट करना चाहिए और मेल () फ़ंक्शन लगभग तुरंत वापस आ जाना चाहिए। जब तक आप चरण 5 का पालन नहीं करते, वास्तव में ईमेल नहीं भेजे जाएंगे।
5) मेल फ़ंक्शन का उपयोग करते समय आपको Sendmail '-f' विकल्प का नया उपयोग करना होगा। उदाहरण के लिए:
mail('recipient@somewhere.com', 'the subject', 'the message', null, '-fsender@somewhere.com');
मेरे साथी सर्वरफॉल्टर्स के लिए मेरा प्रश्न है:
और क्या परिवर्तन किए जा सकते हैं ताकि मुझे सेंडमेल-एफ विकल्प का उपयोग न करना पड़े? यद्यपि -f विकल्प को जोड़ना बहुत कठिन नहीं है, यह एक समस्या है जब आपका सीएमएस (जैसे कि ड्रुपल) मेल भेजने के दौरान -f विकल्प का उपयोग नहीं करता है। इस विकल्प को जोड़ने के लिए आपको एक कोर मॉड्यूल को हैक करना होगा।
cat /etc/hostname