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मैन पेज में विस्तृत कुंजी का उपयोग करें ।)