কমান্ড লাইন থেকে কীভাবে ইমেল প্রেরণ করবেন?


29

কমান্ড লাইন বা স্ক্রিপ্ট থেকে কীভাবে ইমেল প্রেরণ করবেন? আমি রিসিভার এবং বার্তাটি পাস করে প্রোগ্রামটিমে স্ক্রিপ্টটি চালাতে সক্ষম হতে চাই।


আপনি যদি কোনও প্রোগ্রাম লিখতে থাকেন তবে অনেক ভাষায় গ্রন্থাগার রয়েছে যা ইমেল নিয়ে কাজ করে
user151019

উত্তর:


22

mail -s subject someone@example.com আপনার বার্তা টাইপ করুন, টিপুন Ctrl+Dসমাপ্ত করতে


11
আপনি যদি ইমেলটি কোথায় প্রেরণ করতে চান তা জানানোর জন্য যদি আপনি আপনার সিস্টেমটি কনফিগার না করে থাকেন তবে এটি সম্ভবত ইমেল প্রেরণ করবে না, এটি আমার ম্যাকের উপরে সজ্জিত হয়ে যাবে।
টিজে লুওমা

15
-1: এই উত্তরটি অসম্পূর্ণ। @TJLuoma উল্লেখ করেছে যে এই কমান্ডটি কার্যকর করার আগে সিস্টেমটি কনফিগার করা না থাকলে এই কমান্ডটি কার্যকর হবে না।
মেলভিনকিম

1
টিজে লুওমা এবং মেলভাকিম ভুল: বাক্সের বাইরে একটি স্ট্যান্ডার্ড ওএস এক্স সিস্টেম কোনও কনফিগারেশন প্রয়োজন না করে ঠিক ইমেল প্রেরণ করবে। গন্তব্য ডোমেনের জন্য ডিএনএস এমএক্স সন্ধান করে এবং সেখানে মেলটি প্রেরণ করে ওএস এক্স মেশিনটি তার নিজস্ব এসএমটিপি সার্ভার হিসাবে কাজ করবে।
জনদী

2
@ পেট্রিক্স, সঠিক, এটি লগ-ইন করা অ্যাকাউন্টটির দীর্ঘ ব্যবহারকারীর নাম এবং ম্যাকের স্ব-উত্পন্ন ".লোকাল" ঠিকানাটি "থেকে" গঠনের জন্য ব্যবহার করে। আমি শেল-স্ক্রিপ্টড প্রক্রিয়াগুলি থেকে আমাকে এবং আমার কর্মীদের নোটিফিকেশন ইমেলের জন্য এটি সর্বদা ব্যবহার করি। টিজে লুওমা এবং মেলভকিম বলছিলেন এটি "কাজ করবে না" এবং "আসলে ইমেল প্রেরণ করবে না", তবে উভয়ই ভুল।
জনদিহি

1
@ রামরাজটি, হ্যাঁ আপনি মেইলে ইকো কমান্ডের আউটপুটটি পাইপ করতে পারেন এবং তারপরে এটির জন্য কোনও সিএমডি-ডি লাগবে না। উদাহরণস্বরূপ: echo This will be the body of the email | mail -s "This is the Subject" destination@example.com
জন

26

দুটি প্রোগ্রাম রয়েছে যা সম্পর্কে আমি সচেতন যা সহজেই আপনাকে আপনার ম্যাকটি কমান্ড লাইন থেকে ইমেল প্রেরণের জন্য কনফিগার করতে দেয়।

আমি উভয়ের জন্য হাওটো লিখে রেখেছি:

দু'জনের মধ্যে আমি পরামর্শ দিই 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/ দেখুন ।


স্পষ্টতই উপরের স্ক্রিপ্টের আমার উদাহরণগুলি ধরে নিয়েছে যে আপনি Gmail ব্যবহার করছেন তবে এটি অন্যান্য সার্ভারের জন্যও ব্যবহার করা যেতে পারে। পরিবর্তন করুন example@gmail.comআপনার Gmail বা Google Apps ইমেল ঠিকানায়।
টিজে লুওমা

আমি এখানে উপলব্ধ গুগল রুটগুলি ব্যবহার করে অবশেষে এটি পেতে সক্ষম হয়েছি : pki.google.com/roots.pem । আপনি যদি ট্রাস্ট ফাইল এবং জিমেইল নিয়ে ইস্যুতে আটকে থাকেন তবে এটি আপনাকে অবরুদ্ধ করতে পারে।
কোডওয়াইজে

আপনার যদি কনফিগার (এমএসএমটিআরপিসি) ফাইলের অবস্থান নিয়ে সমস্যা হয়, ম্যাকোস 10.13.3 এ হোমব্রিউয়ের সাথে ইনস্টল করার পরে, এমএসএমটিপি এটি আমার হোম ডিরেক্টরিতে সন্ধান করেছে: ~/.msmtprc
কোডওয়াইজ

15

মেল প্রেরণের সর্বাধিক প্রাথমিক উপায় হ'ল আপনার সরবরাহকারী / নেটওয়ার্কের শ্রীমতি সার্ভারের সাহায্যে একটি টেলনেট সেশন rough আপনি সার্ভারের সাথে যোগাযোগ করার পরে এবং প্রতিটি কমান্ডের পরে সার্ভার উত্তর দিবে যদি এটি "250 ওকে" এর মতো কোনও কিছু দিয়ে কমান্ডটি গ্রহণ করে, বা যদি ত্রুটি বার্তা না দিয়ে থাকে।

সমস্ত বিবরণ আরএফসি 2821 এ পাওয়া যাবে - এর জন্য গুগল সাধারণ মেল স্থানান্তর প্রোটোকল। এই মেল উপায়টি কেন মেল প্রেরণে কিছু ভুল হয় তা পরীক্ষার জন্য দুর্দান্ত তবে আমার মনে হয় এটি সম্পূর্ণ প্রমাণের লিপি করা বেশ জটিল।

টার্মিনাল শুরু করে প্রথমে আপনার কম্পিউটারে একটি কমান্ড-লাইন ইন্টারফেস পান। তারপরে একের পর এক নিম্নলিখিত কমান্ডগুলি দিয়ে চালিয়ে যান।

আপনার সরবরাহকারী / নেটওয়ার্কের এসএমটিপি সার্ভারের 25 পোর্টে টেলনেট সেশনটি খুলুন

telnet name_or_ip_of_smtp_server 25

হ্যালো প্লাস আপনার সরবরাহকারী / নেটওয়ার্কের ইন্টারনেট নাম, যেমন abc.com say

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

13

এটি আমার পক্ষে কাজ করেছে, এটি সিংহকে মাথায় রেখেই লেখা হয়েছিল তবে মাউন্টেন সিংহের পক্ষে কাজ করে। বিটিডব্লু এটি জিমেইলটি ব্যবহার করছে তাই যদি আপনি না হন ...

আপনার কিছু ডাউনলোড করার দরকার নেই! (সবেমাত্র একটি Gmail অ্যাকাউন্ট সেটআপ করুন)

http://www.anujgakhar.com/2011/12/09/using-macosx-lion-command-line-mail-with-gmail-as-smtp/

জিমেইল এসএমটিপি সম্পাদনা ফাইল /etc/postfix/main.cf জন্য পোস্টফিক্স কনফিগার করুন

sudo vim /etc/postfix/main.cf

এবং নীচে নীচে মন্তব্য করা রিলেহোস্টগুলি যুক্ত করুন: -

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

ইতিমধ্যে বিদ্যমান না থাকলে স্যাসল_প্যাসওয়ার্ড তৈরি করুন

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

পিএস: টার্মিনাল থেকে বা স্ক্রিপ্টগুলিতে ম্যানুয়ালি এটি চালানোর সময় আমি দুর্দান্ত কাজ করতে পেরেছি। তবে এই মুহুর্তে আমি এই সমস্যার সাথে আটকে আছি যে স্ক্রিপ্ট চালু করার সময় মেলগুলি কখনই প্রেরণ করা হয় না। আমি অনুমান করি যে এটি চালু করা জব সেটআপ নিয়ে সমস্যা।
জনি

আমি এটা কাজ পেয়েছিলাম। আপেল.স্ট্যাকেক্সেঞ্জাঞ্জ.কোশনস
জনি ২

এটি যোগ করার জন্য +1 ধন্যবাদ। সত্যিই আমাকে সাহায্য করেছে। আমার সত্যিকারের দরকার ছিল মেইনকনফের রিলেহোস্ট এন্ট্রি (এটি আমার ল্যানে আমার নিজস্ব এসএমটিপি সার্ভার)।
বুট 13

3
উপরেরটি পুরানো হতে পারে। আমি যোগ "smtp_sasl_mechanism_filter = প্লেইন" অনুযায়ী কি ছিল stackoverflow.com/a/26451135/197789 এটা কাজ পেতে। অন্যথায় আমি একটি "জেনেরিক ব্যর্থতা" ত্রুটি পেয়েছি।
ভন

0

এমটিসিমেইল হ'ল অন্য বিকল্প: http://www.macupdate.com/app/mac/33505/mtcmail-cli

[এই অতিরিক্ত পাঠ্য উপেক্ষা করুন। যুক্ত হয়েছে কারণ: শরীরের কমপক্ষে 30 টি অক্ষর হওয়া উচিত; আপনি 27 প্রবেশ করেছেন।]


0

আপনি কমান্ড লাইনটি (আপনার ইনপুট ব্যবহার করে) ইমেল প্রেরণ করতে ওএস এক্সকে সক্ষম ও কনফিগার করে এমন পোস্টফিক্সকনফটি পরীক্ষা করে দেখতে চাইতে পারেন ।

এটি পোস্টফিক্স কনফিগারেশনের উপর ভিত্তি করে এখানে ওয়েবে , এখানে এবং এখানে ডকুমেন্টেড রয়েছে ।


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.