2009-08-18 11 views
24

मैं एक कोर्नशेल (ksh) स्क्रिप्ट पर एक सोलारिस सर्वर पर चल रहा हूं जो त्रुटि संदेश मिलने पर एक ईमेल भेज देगा। मैं मेलक्स के माध्यम से ईमेल भेज रहा हूँ।मेलक्स कमांड के लिए से ईमेल पता कैसे सेट करें?

प्रश्न: मैं मेलक्स कमांड पर "प्रेषक" ईमेल पते को कैसे सेट करूं?

वर्तमान कोड:

echo ${msg_txt} | mailx -s "Script Failure" ${to_email} 

नोट: आदेश ठीक काम करता है, फिर भी, "से" मैं के रूप में स्क्रिप्ट चला रहा हूँ उपयोगकर्ता का नाम है और मैं एक और ईमेल करने के लिए इस बात के लिए चाहते हैं पता।

मैं इसे कैसे पूरा करूं?

उत्तर

31

आप "-r" विकल्प प्रेषक का पता सेट करने के लिए उपयोग कर सकते हैं:

mailx -r [email protected] -s ... 
+0

@sth THX कि काम किया! – AieshaDot

21

मामले में आप भी से मैदान, आप निम्न स्वरूप का उपयोग कर सकते हैं अपना वास्तविक नाम शामिल करना चाहते हैं

mailx -r "[email protected] (My Name)" -s "My Subject" ... 

आप मेरे AEÆoeøaaå की तरह आप नाम में गैर- ASCII वर्ण के लिए, हो तो (Æ = सी 3 86, o = सी 3 बी 8, एक = सी 3 ए 5), तुम उन्हें इस तरह सांकेतिक शब्दों में बदलना करने के लिए है:

mailx -r "[email protected] (My =?utf-8?Q?AE=C3=86oe=C3=B8aa=C3=A5?=)" -s "My Subject" ... 

आशा है कि यह किसी को कड़ी मेहनत/शोध के एक घंटे बचा सकता है!

+0

किसी के उत्सुक होने पर, '=? Utf-8? ...? =' बिट एक [एमआईएम एन्कोडेड-शब्द] (http://en.wikipedia.org/wiki/MIME#Encoded-Word) है। –

+0

इसका असली नाम हिस्सा सौर मंडल पर मेरे लिए काम नहीं करता है। संदेश सफलतापूर्वक भेजता है और उसके पास उचित ईमेल है, लेकिन मैं जिस ईमेल को भेजता हूं वह केवल ईमेल पते पर छीन लिया जाता है। – peabody

+0

@Rune आपकी विधि रिटर्न (मेरा एई ?? ओई ?? aa ??) कोई विचार क्यों? – RafaSashi

8

डेबियन पर bsd-mailx डिफ़ॉल्ट रूप से स्थापित किया गया है, -r विकल्प काम नहीं करता है। हालांकि आप इसके बजाय mailx -s subject [email protected] -- -f [email protected] का उपयोग कर सकते हैं। मैन पेज के अनुसार, आप -- के बाद sendmail विकल्प निर्दिष्ट कर सकते हैं।

+0

टिप के लिए धन्यवाद, अनुमान है कि मुझे सारांश को अधिक विस्तार से पढ़ना चाहिए था। दुर्भाग्य से भयानक bsdutils के साथ फंस गया, एक कामकाज करने में खुशी हुई। – 4ae1e1

+3

दुर्भाग्यवश [डीएसए 3104-1 सुरक्षा अद्यतन] (https://www.debian.org/security/2014/dsa-3104) इस विधि को तोड़ दिया। इसके बजाए, heirloom-mailx पैकेज स्थापित किया जा सकता है, जो '-r' विकल्प प्रदान करता है। – praseodym

+0

मैंने बस 'bsd-mailx' संस्करण' संस्करण: 8.1.2-0.20160123cvs-2' स्थापित किया है, यद्यपि उबंटू 16.04 सिस्टम पर; '-r' विकल्प काम करता है। – ssc

28

"-r" विकल्प मेरे सिस्टम पर अमान्य है। मुझे "से" फ़ील्ड के लिए एक अलग वाक्यविन्यास का उपयोग करना पड़ा।

-a "From: Foo Bar <[email protected]>" 
+1

मेरे मामले में, ओनुंटू 16.04, आपके '-a' विकल्प का उपयोग करके, यह प्राप्त मेल में 'फू बार' नाम दिखाता है, लेकिन प्राप्त मेल का उत्तर मेरे जीमेल ईमेल पते को प्रदान करता है, जिसे smtp लॉगिन के रूप में उपयोग किया जाता है 'foo.bar @ someplace.com' में से एक। – Stephane

1

पैकेज nail इंटरफ़ेस की तरह एक बेहतर mailx प्रदान करता है। इसमें -r विकल्प शामिल है।

केंद्र 5 पर पैकेज mailx पैकेज स्थापित करने से आपको mail नामक एक प्रोग्राम मिलता है, जो mailx विकल्पों का समर्थन नहीं करता है।

0

MacOS सिएरा पर, smtp सेटअप के साथ किया था बनाने ~/.mailrc चाल:

set smtp-use-starttls 
set smtp=smtp://smtp.gmail.com:587 
set smtp-auth=login 
set [email protected] 
set smtp-auth-password=yourpass 

तो CLI से मेल भेजने के लिए:

echo "your message" | mail -s "your subject" [email protected] 
संबंधित मुद्दे