क्या कमांड लाइन से अटैचमेंट ईमेल करना संभव है?
यदि संभव हो तो, मैं कुछ सरल के रूप में चाहते हैं:
mail -a myfile.txt -t me@example.com -s "Here's my file"
क्या कमांड लाइन से अटैचमेंट ईमेल करना संभव है?
यदि संभव हो तो, मैं कुछ सरल के रूप में चाहते हैं:
mail -a myfile.txt -t me@example.com -s "Here's my file"
जवाबों:
उबंटू रिपॉजिटरी में सभी मेल उपयोगकर्ता एजेंटों में से, यह प्रतीत होता है कि म्यूट कमांड-लाइन एमयूए है जो दीर्घकालिक समर्थन के साथ धन्य है।
मैनुअल के अनुसार , आप कुछ ऐसा कर सकते हैं:
mutt -a myfile.txt -s "Here's my file" -- me@example.com
सिवाय इसके कि वह कहीं नहीं जाएगा क्योंकि एक को भी मेल ट्रांसफर एजेंट की जरूरत होती है। लोकप्रिय हैं:
और केवल वही है जो कैनोनिकल का समर्थन करता है पोस्टफिक्स (सुधार स्टीव के लिए धन्यवाद) और एक्सिम 4 हैं ।
कोई यह भी कह सकता है कि xdg-email भी एक उचित उबंटू MUA है, लेकिन यह एक नंगे हड्डियों वाला अगला छोर है जो केवल आपकी ओर से आपके पसंदीदा MUA को निष्पादित करता है ।
यदि आप उस सलाह को पसंद करते हैं जिस पर एमटीए आपके उपयोग के लिए उपयुक्त हो सकता है, तो शायद यहां एक और प्रश्न खोलें।
muttविज्ञापन के रूप में काम किया। संयोगवश nullmailer का एक नकली Sendmail फ्रंट-एंड है, ताकि ज्यादातर प्रोग्राम जो Sendmail से बात करने की उम्मीद करते हैं, मुझसे एक वास्तविक MTA से दूर हो जाते हैं।
मुझे अटैचमेंट फाइल भेजने में भी बहुत परेशानी हुई। जब मैंने अटैचमेंट के बिना एक ईमेल भेजा, तो यह सफल था लेकिन अनुलग्नक के साथ नहीं था। इस समस्या से बराबर था sendemail, mutt, mail, mailx, uuencodeआदेशों।
सौभाग्य से, यह मजेदार तरीके से हल किया गया था। मैं ईमेल भेजने के लिए जीमेल का उपयोग करता हूं। आप टर्मिनल के माध्यम से ईमेल भेजने के लिए अपने gmail को कॉन्फ़िगर कर सकते हैं जैसे कि http://www.linuxandlife.com/2013/01/send-email-from-linux-terminal.html पर घोषित किया गया है ।
आप एक पाठ ईमेल का उपयोग कर भेज सकते हैं:
mail -s "hello" RECEIVE@mail.com < /home/masoud/YOURFILE.txt
लेकिन आप नीचे दिए गए अनुलग्नक के रूप में एक ही फ़ाइल नहीं भेज सकते हैं:
mail -s "hello" RECEIVE@mail.com -a /home/masoud/YOURFILE.txt
या:
mail -s "hello" -a /home/masoud/YOURFILE.txt RECEIVE@mail.com
अंत में, मैं समझ गया कि केवल यह प्रारूप एक अनुलग्नक भेज सकता है:
echo "your message here" | mail -s "title" -a /home/masoud/YOURFILE.txt RECEIVE@mail.com
मजेदार रूप से, अंतर "इको" कमांड का अस्तित्व है।
ऐसा लगता है कि अब अनुलग्नक के लिए अपरकेस के -aसाथ विकल्प बदल दिया गया है । के अनुसार शीर्ष लेख को बदलने के लिए हो रहा है डॉक -A-a
.zshrcफ़ाइल किसी को भेजने की कोशिश कर रहा था और यद्यपि मैं mailत्वरित संदेश भेजने के लिए बहुत अधिक उपयोग करता हूं , एक अनुलग्नक भेजने की कोशिश नहीं कर रहा था। मुझे सिर्फ इस बात की पुष्टि की आवश्यकता थी कि यह महसूस करना संभव था कि तर्क आदेश बहुत महत्वपूर्ण है। इसने मेरे लिए काम किया: mail -s "zshrc" -a ~/.zshrc username@example.com... बेशक मुझे अभी भी संदेश की बॉडी टाइप करनी थी और ctrl+dआखिरी ब्लैंक लाइन पर हिट करना था।
mail username@example.com -a ~/.zshrcइसमें "काम" का उपयोग करते हुए इसने संदेश भेजा लेकिन इसने फ़ाइल नहीं भेजी। अगर मैंने कोशिश की mail username@example.com -a ~/.zshrc -s 'zshrc'होती तो यह स्पष्ट होता कि प्राप्तकर्ता के पते के बाद के पार्स को नजरअंदाज किया जा रहा है।
आप शेल से फ़ाइल भेजना चाह सकते हैं , लेकिन अन्यथा थंडरबर्ड का उपयोग करें ।
इस मामले में, प्रयास thunderbird -remote ...उपयोगी है - यह माना जाता है कि थंडरबर्ड आमतौर पर चल रहा है:
कमांड एक थंडरबर्ड इंस्टेंस की मेल कंपोज़ विंडो खोलती है।
"से" पता आपके डिफ़ॉल्ट पते को थंडरबर्ड में कॉन्फ़िगर किया गया है।
साथ ही, मौजूदा खाता सेटिंग्स का उपयोग किया जाता है, अलग सेटअप की आवश्यकता नहीं है।
मेल के लिए you@example.com, "S", बॉडी "B", और अटैचमेंट के साथ /some/absolute/file.txt, एक कमांड है
thunderbird -remote "xfeDoCommand(composeMessage,subject='S',to='you@example.com',body='B',attachment='/some/absolute/file.txt')"
दो समस्याएं हैं:
संलग्न फ़ाइल को एक पूर्ण पथ द्वारा दिए जाने की आवश्यकता है , जो व्यवहार में थकाऊ है। readlink -fरिश्तेदार रास्तों को हल करने के लिए उपयोग करके इसे संभाला जा सकता है:
thunderbird -remote "xfeDoCommand(composeMessage,subject='S',to='you@example.com',body='B',attachment='$(readlink -f file.txt)')"
साथ ही, कमांड लंबी होनी है। चार तर्कों के साथ एक शेल स्क्रिप्ट या शेल फ़ंक्शन का उपयोग करें:
thunderbird-compose () {
thunderbird -remote "xfeDoCommand(composeMessage,subject='$1',to='$2',body='$3',attachment='$(readlink -f $4)')"
}
इस फ़ंक्शन के साथ, कमांड पठनीय हो जाती है:
thunderbird-compose 'Some Subject' test@example.com 'Body of message' file1
अटैचमेंट के साथ एक थंडरबर्ड "राइट" विंडो खोलेगा और इसमें से, टू, सब्जेक्ट और बॉडी टेक्स्ट भरा जाएगा । इसे भेजने से पहले इसे एडिट किया जा सकता है।
heirloom-mailxडेबियन में पैकेज mailxआसानी से माइम संलग्नक भेजने के लिए कमांड प्रदान करता है । मेरे लिए निम्नलिखित कार्य;
mailx -a attachment.zip -s subject rctp@domain.to
mailऔर mailxआरएच प्रतिमूर्तियाँ के साथ शामिल है -aफ़ाइल अनुलग्नकों के लिए, लेकिन डेबियन प्रतिमूर्तियाँ में शामिल एक नहीं करता है।
मैं एक और उत्तर जोड़ना चाहता हूं जिसका उपयोग अटैचमेंट के साथ बॉडी टेक्स्ट को जोड़ने के लिए किया जाता है। चीयर्स !!
echo "This is the message body" | mutt -a "/path/to/file.to.attach" -s "subject of message" -- recipient@domain.com
mail(उर्फmailx) MIME अज्ञानी है इसलिए 1980ish में किसी भी तरह से अटैचमेंट को संभाल नहीं सकता है। यह एक अच्छा सवाल है, मैं कैनोनिकल कैननिकल म्यू के लिए देख रहा हूँ; और भी आने को है।