मैं यूनिक्स मेलक्स कमांड के माध्यम से ईमेल कैसे भेज सकता हूं?


90

मैं यूनिक्स mailxकमांड के माध्यम से ईमेल कैसे भेज सकता हूं ?

जवाबों:


107

एक उदाहरण

$ echo "something" | mailx -s "subject" recipient@somewhere.com

अनुलग्नक भेजने के लिए

$ uuencode file file | mailx -s "subject" recipient@somewhere.com

और अनुलग्नक भेजने और संदेश बॉडी लिखने के लिए

$ (echo "something\n" ; uuencode file file) | mailx -s "subject" recipient@somewhere.com

4
मैंने इसे आजमाया लेकिन यह कोई प्रतिक्रिया नहीं है। न तो यह कुछ त्रुटि संदेश दे रहा है और न ही myname@gmail.com पर मेल भेज रहा है। क्या किसी सर्वर कॉन्फ़िगरेशन की आवश्यकता है?
user269484

2
किसी भी विन्यास की कोई आवश्यकता नहीं है। अपना इंटरनेट संपर्क जांचे। मेरे पास केबल के माध्यम से इंटरनेट से सीधा संबंध है, मैं परदे के पीछे या किसी भी चीज़ का उपयोग नहीं करता हूं, इसलिए यह मेरी तरफ से काम करता है।
भूतडॉग ghost ghost

2
आपको अपने इनबॉक्स में त्रुटि संदेशों की भी जांच करनी चाहिए । यानी दौड़ना mail
हफीचुक

2
ध्यान दें, हालांकि, uuencodeयह एक विरासत प्रौद्योगिकी है जो एक बीगोन मिलेनियम से उत्पन्न होती है जो कि "अनुलग्नक" से हमारा मतलब नहीं है। यह मूल रूप से संदेश पाठ के अंत में एक मशीन-पठनीय टुकड़ा रद्दी का काम करता है। इस दिन और उम्र में, आपको एक उचित MIME- जागरूक मेलर द्वारा बेहतर सेवा दी जाएगी। दुर्भाग्य से, mailxMIME सुविधाओं के साथ कोई सार्वभौमिक रूप से समर्थित प्रतिस्थापन नहीं है, लेकिन यदि आपके पास है mutt, तो संभवतः कम से कम प्रतिरोध का मार्ग है।
त्रिकाल

5
@ user269484 Gmail अनधिकृत IP पतों से ईमेल स्वीकार नहीं करता है। Support.google.com/mail/answer/10336
मानस जयंत

33

आप यहाँ हैं :

echo "Body" | mailx -r "FROM_EMAIL" -s "SUBJECT" "To_EMAIL"

पुनश्च। शरीर और विषय को दोहरे उद्धरण चिह्नों के भीतर रखा जाना चाहिए। से बोलियां निकालें FROM_EMAILऔर To_EMAILजबकि ई-मेल पते प्रतिस्थापन।


1
यदि आप -r mailx: गैरकानूनी विकल्प - r उपयोग: mailx [-EiInv] [-s विषय] [-c cc-addr] [-b bcc-addr] का उपयोग करते हैं, तो मैक पर आपको मेल कमांड से एक त्रुटि प्राप्त होगी। -F] to-addr ... mailx [-EHiInNv] [-F] -f [name] mailx [-EHiInNv] [-F] [-u उपयोगकर्ता] mailx -e [-f नाम: mailx -H
jcpennypincher

आप कर सकते हैं -S@a@b.com से
कल्पेश सोनी

6
mailx -s "subjec_of_mail" abc@domail.com < file_name

के माध्यम से mailxउपयोगिता हम से एक फ़ाइल भेज सकते हैं unixकरने के लिए mail server। यहाँ उपरोक्त कोड में हम देख सकते हैं पहला पैरामीटर -s "subject of mail" दूसरा पैरामीटर है mail IDऔर अंतिम पैरामीटर फ़ाइल का नाम है जिसे हम संलग्न करना चाहते हैं


1
यह फ़ाइल संलग्न नहीं करता है, यह फ़ाइल की सामग्री को शरीर में डालता है
Guus

5
mail [-s subject] [-c ccaddress] [-b bccaddress] toaddress

-c और -b वैकल्पिक हैं।

-s: विषय निर्दिष्ट करें; यदि विषय में रिक्त स्थान है, तो उद्धरणों का उपयोग करें।

-c: कॉमा द्वारा अलग किए गए उपयोगकर्ताओं की सूची में कार्बन प्रतियां भेजें।

-b: कॉमा द्वारा अलग किए गए उपयोगकर्ताओं की सूची में नेत्रहीन कार्बन प्रतियां भेजें।

आशा है कि मेरा उत्तर आपके संदेह को स्पष्ट करता है।


5

MUTT कमांड के साथ इसका तेज

echo "Body Of the Email"  | mutt -a "File_Attachment.csv" -s "Daily Report for $(date)"  -c cc_mail@g.com to_mail@g.com -y
  1. -c ईमेल cc लिस्ट
  2. -एस विषय सूची
  3. -हे मेल भेजना है

4

मैन पेज से:

मेल भेजना

एक या एक से अधिक लोगों को संदेश भेजने के लिए, mailx को उन तर्कों के साथ मंगाया जा सकता है जो उन लोगों के नाम हैं जिन्हें मेल भेजा जाएगा। उपयोगकर्ता को उसके संदेश में टाइप करने की उम्मीद की जाती है, उसके बाद एक लाइन की शुरुआत में एक 'कंट्रोल-डी' होता है।

दूसरे शब्दों में, mailx मानक इनपुट से भेजने के लिए सामग्री पढ़ता है और सामान्य की तरह पुनर्निर्देशित किया जा सकता है। उदाहरण के लिए:

ls -l $HOME | mailx -s "The content of my home directory" someone@email.adr

3
echo "Sending emails ..."
NOW=$(date +"%F %H:%M")
echo $NOW  " Running service" >> open_files.log
header=`echo "Service Restarting: " $NOW`


mail -s "$header" abc.xyz@google.com,   \
              cde.mno@yahoo.com, \ < open_files.log

1

पते से अनुरूपण

MESSAGE="SOME MESSAGE"
SUBJECT="SOME SUBJECT"
TOADDR="u@u.com"
FROM="DONOTREPLY"

echo $MESSAGE | mail  -s "$SUBJECT" $TOADDR  -- -f $FROM

मैन मेल को छोड़कर: -f [फ़ाइल] प्रसंस्करण के लिए उपयोगकर्ता के एमबॉक्स (या निर्दिष्ट फ़ाइल) की सामग्री में पढ़ें; जब mailx को छोड़ दिया जाता है, तो वह इस फाइल पर वापस अनलेटेड मैसेज लिखता है। स्ट्रिंग फ़ाइल नीचे दिए गए फ़ोल्डर कमांड के लिए वर्णित है।
ZJ Lyu

यह निर्भर करता है कि आप किस संस्करण का उपयोग कर रहे हैं। विभिन्न विकल्पों के साथ कई असंगत प्रतिस्पर्धा mailऔर mailxकमांड हैं।
ट्रिपलए

1

कई अनुलग्नकों के साथ मेल भेजने से निपटने के लिए यहां एक बहुक्रियाशील कार्य है:

enviaremail() {
values=$(echo "$@" | tr -d '\n')
listargs=()
listargs+=($values)
heirloom-mailx $( attachment=""
for (( a = 5; a < ${#listargs[@]}; a++ )); do
attachment=$(echo "-a ${listargs[a]} ")
echo "${attachment}"
done) -v -s "${titulo}" \
-S smtp-use-starttls \
-S ssl-verify=ignore \
-S smtp-auth=login \
-S smtp=smtp://$1 \
-S from="${2}" \
-S smtp-auth-user=$3 \
-S smtp-auth-password=$4 \
-S ssl-verify=ignore \
$5 < ${cuerpo}
}

फ़ंक्शन कॉल: enviaremail "smtp.mailserver: port" "from_address" "ऑक्टूसर" "" पास "" गंतव्य "" स्थान द्वारा अलग किए गए अनुलग्नकों की सूची "

नोट: कॉल में दोहरे उद्धरण चिह्नों को हटा दें

इसके अलावा समारोह का उपयोग करने से पहले ईमेल के बाहरी टिटुलो (विषय) और $ cuerpo (शरीर) को परिभाषित करने के लिए कृपया याद रखें


0

यदि आप दो से अधिक व्यक्ति या DL भेजना चाहते हैं:

echo "Message Body" | mailx -s "Message Title" -r sender@someone.com receiver1@someone.com,receiver_dl@.com

यहाँ:

  • -s = विषय या मेल शीर्षक
  • -r = प्रेषक मेल या डीएल

क्या आप यह समझा सकते हैं कि एक संदेश निकाय को पारित करने के लिए इको का उपयोग क्यों किया जाता है? यदि मैं इसे छोड़ देता हूं और MailX से निष्पादित करता हूं, तो कर्सर ब्लिंक करता है जैसे कि इनपुट का इंतजार है।
लोनलीग्रोग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.