Sendmail को चलाने का प्रयास करने पर मुझे एक त्रुटि मिलती है। मैं OS X 10.8 माउंटेन लायन पर हूं।
sendmail: fatal: chdir /Library/Server/Mail/Data/spool: No such file or directory
Sendmail को चलाने का प्रयास करने पर मुझे एक त्रुटि मिलती है। मैं OS X 10.8 माउंटेन लायन पर हूं।
sendmail: fatal: chdir /Library/Server/Mail/Data/spool: No such file or directory
जवाबों:
बस टर्मिनल में निष्पादित करें
sudo mkdir -p /Library/Server/Mail/Data/spool
sudo /usr/sbin/postfix set-permissions
sudo /usr/sbin/postfix start
मेरे लिए यही चाल चली।
सभी चेतावनियों से छुटकारा पाने के लिए मुझे निम्नलिखित कार्य करने थे:
sudo mkdir -p /Library/Server/Mail/Data/spool
sudo gzip /usr/share/man/man1/{postalias.1,postcat.1,postconf.1,postdrop.1,postfix.1,postkick.1,postlock.1,postlog.1,postmap.1,postmulti.1,postqueue.1,postsuper.1,sendmail.1}
sudo gzip /usr/share/man/man5/{access.5,aliases.5,bounce.5,canonical.5,cidr_table.5,generic.5,header_checks.5,ldap_table.5,master.5,mysql_table.5,nisplus_table.5,pcre_table.5,pgsql_table.5,postconf.5,postfix-wrapper.5,regexp_table.5,relocated.5,tcp_table.5,transport.5,virtual.5}
sudo gzip /usr/share/man/man8/{anvil.8,bounce.8,cleanup.8,discard.8,error.8,flush.8,local.8,master.8,oqmgr.8,pickup.8,pipe.8,proxymap.8,qmgr.8,qmqpd.8,scache.8,showq.8,smtp.8,smtpd.8,spawn.8,tlsmgr.8,trivial-rewrite.8,verify.8,virtual.8}
sudo /usr/sbin/postfix set-permissions
sudo chmod 700 /Library/Server/Mail/Data/mta
sudo /usr/sbin/postfix start
chown: /usr/share/man/man1/postalias.1.gz: No such file or directory
TLDR : बदलें queue_directory
में चर /etc/postfix/main.cf
करने के लिए /var/spool/postfix
।
पूर्ण उत्तर:
mkdir -p
दृष्टिकोण की संभावना काम करता है, लेकिन मैं वहाँ एक सरल समाधान पर शक। निष्पक्ष चेतावनी, मैं पोस्टफिक्स के लिए नया हूं, और यह सब गलत हो सकता है।
ऐसा लगता है कि मैक ओएस एक्स के विभिन्न संस्करण मेल के लिए दो रूट निर्देशिकाओं में से एक का उपयोग करते हैं:
/var/spool/postfix
/Library/Server/Mail
लगता है ये दोनों समय के साथ पिघल गए। (नोट /var
वास्तव में एक सहानुभूति है /private/var
, इसलिए आप अक्सर उन लोगों को एक-दूसरे के साथ इस्तेमाल करते हुए देखते हैं।)
मैं जो बता सकता हूं, /Library/Server/Mail
वह एक निर्देशिका है जो मैक ओएस एक्स सर्वर अपनी मेल सेवाओं के लिए उपयोग करता है, जो निर्भर करते हैं, लेकिन पोस्टफिक्स के समान नहीं हैं। /var/spool/postfix
दूसरी ओर, पोस्टफ़िक्स के आंतरिक संचालन के लिए पसंदीदा निर्देशिका (पृष्ठ 14) है ।
दो प्रमुख विन्यास फाइलें हैं जो इन निर्देशिकाओं का संदर्भ देती हैं:
/etc/postfix/main.cf
/System/Library/LaunchDaemons/org.postfix.master.plist
आप "ऐसी कोई फ़ाइल या निर्देशिका त्रुटि" नहीं देख रहे हैं, मुझे संदेह है, क्योंकि queue_directory
पोस्टफ़िक्स के चर में main.cf
संदर्भित है /Library/Server/Mail/Data/spool
, जो मौजूद नहीं है। नियमित रूप से मैक ओएस एक्स ( सर्वर के विपरीत ), पूरी /Library/Server
निर्देशिका मौजूद नहीं है। इसे बनाने के बजाय, queue_directory
चर को सही करने का प्रयास करें /var/spool/postfix
।
असंगतता का दूसरा बिंदु लॉन्च के लिए डिफ़ॉल्ट सेटिंग्स में है, मैक ओएस एक्स के डेमन मैनेजर। पोस्टफ़िक्स को हर समय चलाना आवश्यक नहीं है, क्योंकि लॉन्चिंग आउटगोइंग मेल के लिए डायरेक्टरी देख सकता है और जब कुछ भेजने के लिए पोस्टफ़िक्स रन करता है। यकीन है कि यह क्या होगा बनाने के लिए, QueueDirectories
में महत्वपूर्ण org.postfix.master.plist
जरूरतों को सूचीबद्ध करने के लिए maildrop
में निर्देशिका की उप-निर्देशिका main.cf
के queue_directory
चर। उदाहरण के लिए, मैंने अपनी org.postfix.master.plist
फ़ाइल को शामिल करने के लिए बदल दिया :
<key>QueueDirectories</key>
<array>
<string>/var/spool/postfix/maildrop</string>
</array>
इन दो निर्देशिकाओं के अनुरूप, पोस्टफिक्स को लॉन्च करना चाहिए। /var/log/mail.log
जब आप दौड़ते हैं तो आपको देखने में सक्षम होना चाहिए :
$ sudo launchctl unload /System/Library/LaunchDaemons/org.postfix.master.plist
$ sudo launchctl load /System/Library/LaunchDaemons/org.postfix.master.plist
$ sudo launchctl start org.postfix.master
इनमें से अंतिम आदेश पोस्टफ़िक्स को किक-स्टार्ट करता है , जिससे आप mail.log
तत्काल डिबगिंग फीडबैक देख सकते हैं , लेकिन फिर से सामान्य आधार पर निष्पादित करना आवश्यक नहीं है। लॉन्चड आवश्यकतानुसार पोस्टफिक्स चलाएगा। (यदि आप निश्चित हैं कि आप पोस्टफ़िक्स को हर समय चलाना चाहते हैं, KeepAlive
तो launchd.plist
मैन पेज में विस्तृत कुंजी का उपयोग करें ।)