कमांड लाइन या स्क्रिप्ट से ईमेल कैसे भेजें? मैं रिसीवर और संदेश को पास करके स्क्रिप्ट को प्रोग्रामेटिक रूप से चलाने में सक्षम होना चाहता हूं।
कमांड लाइन या स्क्रिप्ट से ईमेल कैसे भेजें? मैं रिसीवर और संदेश को पास करके स्क्रिप्ट को प्रोग्रामेटिक रूप से चलाने में सक्षम होना चाहता हूं।
जवाबों:
mail -s subject someone@example.com
अपना संदेश टाइप करें, Ctrl+D
समाप्त करने के लिए दबाएँ
echo This will be the body of the email | mail -s "This is the Subject" destination@example.com
ऐसे दो कार्यक्रम हैं, जिनके बारे में मुझे जानकारी है, जिससे आप आसानी से कमांड लाइन से ईमेल भेजने के लिए अपने मैक को कॉन्फ़िगर कर पाएंगे।
मैंने उन दोनों के लिए HOWTO लिखा है:
दो में से, मैं सुझाव देता हूं msmtp
।
कॉन्फ़िगरेशन इतना जटिल है कि मुझे यकीन नहीं है कि मुझे यहां दिए गए सभी चरणों को दोहराना चाहिए, लेकिन मैं यह उल्लेख करूंगा कि यदि आप Homebrew का उपयोग करते हैं तो आप msmtp का उपयोग करके स्थापित कर सकते हैं
brew install msmtp --with-macosx-keyring
फिर बाकी संबंधित कॉन्फ़िगरेशन फ़ाइलों को स्थापित करने का एक मामला है
पहला है /usr/local/etc/msmtprc
# Begin msmtprc
# Set default values for all following accounts.
defaults
tls on
logfile ~/.msmtp.log
# A first gmail address
account example@gmail.com
host smtp.gmail.com
port 587
protocol smtp
auth on
from example@gmail.com
user example@gmail.com
tls on
tls_starttls on
# this next line is crucial: you have to point to the correct security certificate for GMail.
# If this doesn't work, check the mstmp documentation
# at http://msmtp.sourceforge.net/documentation.html for help
#
# This next line should all be on one long line:
tls_trust_file /path/to/Thawte Roots/Thawte SSLWeb Server Roots/thawte Premium Server CA/Thawte Premium Server CA.pem
# Set a default account
# You need to set a default account for Mail
account default : example@gmail.com
# end msmtprc
ध्यान दें कि tls_trust_file
लाइन को डाउनलोड करने और https://www.thawte.com/roots/index.html से प्रमाणपत्र स्थापित करने के लिए इंगित करना चाहिए ।
मैंने अपने को रखा ~/Dropbox/Thawte Roots
ताकि मैं अपने सभी मैक पर रख सकूं।
फिर आपको ~/.mailrc
यह कहने के लिए फ़ाइल की आवश्यकता है कि एमएसएमटीपी बाइनरी कहाँ स्थित है। यदि आप इसका उपयोग brew
करते हैं /usr/local/bin/msmtp
तो फ़ाइल इस तरह दिखाई देगी:
set sendmail="/usr/local/bin/msmtp"
अंतिम लेकिन महत्वपूर्ण कदम यह सुनिश्चित कर रहा है कि आपके किचेन के पास प्रारूप में वही जानकारी है जो एमएसएमटीपी यह उम्मीद करेगी:
मुझे लगता है कि इसमें अधिकांश विवरण शामिल हैं। Http://www.tuaw.com/2010/05/04/msmtp-a-free-tool-to-send-email-from-terminal/ देखें तो कुछ और बारीकियां चाहिए।
example@gmail.com
अपने Gmail या Google Apps ईमेल पते में बदलें ।
~/.msmtprc
मेल भेजने का सबसे मूल तरीका आपके प्रदाता / नेटवर्क के smtp सर्वर के साथ एक टेलनेट सेशन है। जब आप सर्वर से संपर्क करते हैं और प्रत्येक कमांड के बाद सर्वर जवाब देगा कि क्या यह "250 ओके" जैसी किसी चीज के साथ कमांड को स्वीकार करता है, या नहीं तो एक त्रुटि संदेश के साथ।
सभी विवरण RFC2821 - सिंपल मेल ट्रांसफर प्रोटोकॉल, Google के लिए देखे जा सकते हैं। यह मूल तरीका परीक्षण के लिए बहुत अच्छा है कि क्यों कुछ गलत मेल भेज रहा है, लेकिन मुझे लगता है कि इसे पूर्ण प्रमाण के लिए स्क्रिप्ट के लिए काफी जटिल है।
पहले टर्मिनल शुरू करके अपने कंप्यूटर पर एक कमांड-लाइन इंटरफ़ेस प्राप्त करें। फिर एक के बाद एक, निम्न आदेशों के साथ जारी रखें।
अपने प्रदाता / नेटवर्क के smtp सर्वर के 25 पोर्ट करने के लिए एक टेलनेट सत्र खोलें
telnet name_or_ip_of_smtp_server 25
हैलो प्लस अपने प्रदाता / नेटवर्क का इंटरनेट नाम, जैसे abc.com
EHLO name_of_your_network
a = = रिटर्न एड्रेस की जरूरत है, <और> कमांड का हिस्सा हैं
MAIL FROM:<your_email_adress>
एक या अधिक गंतव्य दें, <और> कमांड का हिस्सा हैं
RCPT TO:<destination_email_address>
RCPT TO:<second_destination_email_address>
RCPT TO:<etc_destination_email_address>
उस सर्वर को बताएं जिसे आप डेटा भेजना शुरू करना चाहते हैं
DATA
अब सर्वर को जवाब देना चाहिए आप अपना मेल भेजना शुरू कर सकते हैं और डेटा-मोड में जा सकते हैं
your data
more data
etc
अब एक लाइन पर केवल चार के साथ एक डॉट के साथ डेटा खत्म करें
.
सर्वर वापस कमांड-मोड में जाता है ताकि आप छोड़ सकें
QUIT
यह मेरे लिए काम करता है, यह शेर को ध्यान में रखकर लिखा गया था लेकिन माउंटेन शेर के लिए काम करता है। Btw यह जीमेल का उपयोग कर रहा है तो यदि आप नहीं कर रहे हैं ...
आपको कुछ भी डाउनलोड करने की आवश्यकता नहीं है! (सिर्फ एक जीमेल अकाउंट सेटअप करें)
http://www.anujgakhar.com/2011/12/09/using-macosx-lion-command-line-mail-with-gmail-as-smtp/
Gmail SMTP के लिए पोस्टफ़िक्स कॉन्फ़िगर करें फ़ाइल /etc/postfix/main.cf संपादित करें
sudo vim /etc/postfix/main.cf
और नीचे relayhosts टिप्पणी में जोड़ें: -
relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_use_tls = yes
smtp_sasl_mechanism_filter = plain
यदि पहले से मौजूद नहीं है तो sasl_password बनाएं
sudo vim /etc/postfix/sasl_passwd
और निम्नलिखित में दर्ज करें: -
[smtp.gmail.com]:587 username@gmail.com:password
निम्न आदेश चलाएँ
sudo chmod 600 /etc/postfix/sasl_passwd
sudo postmap /etc/postfix/sasl_passwd
sudo launchctl stop org.postfix.master
sudo launchctl start org.postfix.master
और आप कर रहे हैं…।
अब, आपको कमांड लाइन के भीतर से ईमेल भेजने में सक्षम होना चाहिए। उदाहरण के लिए एक पेड़ के रूप में एक निर्देशिका की सामग्री को ईमेल पते पर भेजना चाहिए
tree /var/www/somefolder | mail -s "contents" your@yourdomain.com
mtcmail एक और विकल्प है: http://www.macupdate.com/app/mac/33505/mtcmail-cli ।
[इस अतिरिक्त पाठ पर ध्यान न दें। इसलिए जोड़ा गया: शरीर में कम से कम 30 अक्षर होने चाहिए; आपने 27 को प्रवेश किया।]
चूंकि यह यूनिक्स आधारित है, आप सेंडमेल कमांड का उपयोग कर सकते हैं ।