2011-06-20 12 views
9

के साथ मेलक्स के माध्यम से एक ईमेल कैसे भेजना है मुझे मेल या मेल के माध्यम से एक फाइल भेजने की आवश्यकता है, लेकिन मैं इसे शरीर संदेश में अनुलग्नक के रूप में नहीं भेजना चाहता हूं। क्या ऐसा करने का कोई तरीका है? आखिरकार सौरलिस में कोई अन्य उपकरण है जिसका उपयोग प्रक्रिया के लिए किया जा सकता है? धन्यवादसंलग्न फ़ाइल

उत्तर

0

मैं इसके लिए recommend using mutt चाहता हूं, जो कि किसी भी सिस्टम पर जल्दी से स्थापित करने के लिए पर्याप्त वजन है।

+0

मैं वहाँ कोई मठ और इसे स्थापित करने की कोई संभावना नहीं है। क्या कोई तरीका है कि मैं उस फ़ाइल को मेलक्स या मेल के माध्यम से कैसे भेज सकता हूं? मैंने मेल टूल के माध्यम से कोशिश की है लेकिन यह काम नहीं कर रहा है, मेरा मतलब है कि फाइल मेल के बॉडी में भेजी जाती है और यह मेरे लिए पर्याप्त नहीं है। कोई विचार ? – slafik

+0

@ स्लाफिक: कौन सी प्रणाली और ओएस, क्या उपलब्ध है? पर्ल? – ShiDoiSi

0

mailx के बारे में, तुम यहाँ http://www.shelldorado.com/articles/mailattachments.html

कुछ प्रेरणा मैं तुम्हें सिफारिश करेंगे मठ http://www.mutt.org/

+0

धन्यवाद लेकिन म्यूट वहां स्थापित नहीं है, और मुझे इसे स्थापित करने की अनुमति नहीं है। तो क्या इसे हल करने का कोई और तरीका है? – slafik

12

तुम इतनी

echo "this is the body of the email" | mailx -s"Subject" -a attachment.jpg [email protected] 
तरह -एक का उपयोग कर mailx लिए फ़ाइलों को संलग्न कर सकते हैं पर एक नज़र है करने के लिए मिल सकता है

तब तक जब तक आप अपने अनुलग्नक के समान निर्देशिका में ठीक काम करना चाहिए। नहीं आप जैसे `निर्देशिका कह सकते हैं यदि आपके mailx-a विकल्प का समर्थन नहीं करता

samachPicsFolder/samachpic.jpg 
+0

यदि आपके पास 'mailx' है जो' -a' का समर्थन करता है, तो आपके लिए अच्छा है। यदि आप नहीं करते हैं, तो शायद 'mutt' देखें। यदि आप बाह्य निर्भरता नहीं चाहते हैं और यू * एक्स प्लेटफॉर्म पर पोर्टेबल होने की आवश्यकता है, तो आपको स्क्रिप्ट की कुछ पंक्तियां लिखनी होंगी। – tripleee

2

है और आप mutt लिए पहुँच नहीं है, और आप एक fallback के रूप में uuencode को चालू करने के लिए नहीं करना चाहते हैं 1 9 80 के दशक से, एक अंतिम उपाय के रूप में आप एक छोटे से MIME स्वयं को लपेट सकते हैं।

#!/bin/sh 

# ... do some option processing here. The rest of the code 
# assumes you have subject in $subject, file to be attached 
# in $file, recipients in $recipients 

boundary="${RANDOM}_${RANDOM}_${RANDOM}" 

(
    cat <<____HERE 
Subject: $subject 
To: $recipients 
Mime-Version: 1.0 
Content-type: multipart/related; boundary="$boundary" 

--$boundary 
Content-type: text/plain 
Content-transfer-encoding: 7bit 

____HERE 

    # Read message body from stdin 
    # Maybe apply quoted-printable encoding if you anticipate 
    # overlong lines and/or 8-bit character codes 
    cat 

    cat <<____HERE 

--$boundary 
Content-type: application/octet-stream; name="$file" 
Content-disposition: attachment; filename="$file" 
Content-transfer-encoding: base64 

____HERE 

    # If you don't have base64 you will have to reimplement that, too /-: 
    base64 "$file" 

    cat <<____HERE 
--$boundary-- 
____HERE 

) | sendmail -oi -t 

sendmail के लिए पथ अक्सर प्रणाली पर निर्भर है। /usr/sbin/sendmail या /usr/lib/sendmail या ... असंख्य अन्य अजीब जगहों का प्रयास करें यदि यह आपके PATH में नहीं है।

यह तेज़ और गंदा है; उचित MIME अनुपालन के लिए, यदि आवश्यक हो, तो आपको विषय के आरएफसी 2047 एन्कोडिंग करना चाहिए, और कोड में टिप्पणियों में नोट्स भी देखें। लेकिन आपके औसत यूएस-केंद्रित 7-बिट अंग्रेजी-भाषा क्रॉन नौकरी के लिए, यह ठीक होगा।

+0

यह जादू है !! – Tian

+0

बहुत बढ़िया !!! धन्यवाद!! यह स्क्रिप्ट सभी टेक्स्ट फ़ाइलों के लिए बहुत अच्छा काम करती है। मैंने छवियों के लिए कोशिश नहीं की है। –

+0

'base64' किसी भी प्रकार की सामग्री के लिए ठीक काम करना चाहिए, अपेक्षित जटिलताओं मुख्य रूप से यदि आप अनुलग्नक निकाय भाग के 'सामग्री-प्रकार:' शीर्षलेख में डालने के लिए सही मान नहीं समझ सकते हैं। – tripleee

0

क्रम में इस आदेश का उपयोग Mailx का उपयोग कर एक अनुलग्नक भेजने के लिए प्रयास करें:

uuencode source_file encoded_filename |mailx -m -s "Subject" [email protected] 
+1

क्या आप अपना उत्तर समझा सकते हैं? विशेष रूप से, यूनकोड का उपयोग क्यों करें, जब ईमेल संलग्नक के लिए ज्यादातर बेस 64 का उपयोग करता है? मेलक्स के लिए '-a' विकल्प का उपयोग क्यों न करें? – Robert

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