सेंडमेल में संदेश भेजने के लिए प्रारूप क्या है?


22

मैं मक्खी पर संदेश बनाने और उन्हें भेजने के लिए निम्न आदेश का उपयोग कर रहा हूं:

echo "Subject:Hello \n\n I would like to buy a hamburger\n" | sendmail email@example.com

ऐसा लगता है कि जब आप फ़ाइल से जानकारी भेजते हैं, तो कुछ ऐसा करके:

sendmail email@example.com mail.txt 

फिर सेंडमेल प्रत्येक पंक्ति को हेडर के रूप में देखता है, और इसे पार्स करता है। लेकिन जिस तरह से मैंने इसे ऊपर भेजा है, सब कुछ विषय पंक्ति में समाप्त होता है।

यदि कोई हेडर, सेंडमेल में संदेश को पूरा करना चाहता है, तो प्रारूप क्या है? यह कैसे करता है?

जवाबों:


24

आपके echoकथन को वास्तव में नए अनुक्रम का उत्पादन करना चाहिए, \उसके बाद अनुक्रम नहीं n। आप -eविकल्प प्रदान करके ऐसा कर सकते हैं :

echo -e "Subject:Hello \n\n I would like to buy a hamburger\n" | sendmail email@example.com

यह समझने के लिए कि अंतर क्या है, निम्न दो कमांड से आउटपुट पर एक नज़र है:

echo "Subject:Hello \n\n I would like to buy a hamburger\n"
echo -e "Subject:Hello \n\n I would like to buy a hamburger\n"

1

शेल स्क्रिप्ट में "यहाँ दस्तावेज़" (आप संदेश हेडर और बॉडी की रचना करते हैं)

#!/bin/sh
TO=email@example.com
/usr/sbin/sendmail -i $TO <<MAIL_END
Subject: Hello
To: $TO

I would like to buy a hamburger
MAIL_END

बाहरी फ़ाइल से संदेश शरीर

#!/bin/sh
TO=email@example.com
BODY_FILE=mail.txt
(cat - $BODY_FILE)<<HEADERS_END | /usr/sbin/sendmail -i $TO
Subject: Hello
To: $TO

HEADERS_END
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.