কম্পিউটার

লিনাক্সে ইমেল পাঠাতে ব্যাশ/শেল স্ক্রিপ্ট - কিভাবে, উদাহরণ

এই নিবন্ধটি আপনাকে লিনাক্স কমান্ড লাইন/শেল থেকে একটি ইমেল পাঠানোর বিভিন্ন উপায় দেখাবে – সেইসাথে ব্যাশ/শেল স্ক্রিপ্ট থেকে।

কেন আপনি কমান্ড লাইন থেকে একটি ইমেল পাঠাতে চান? সম্ভবত যোগাযোগ করার জন্য নয় - বেশিরভাগ লোকেরা প্রতিদিন একে অপরকে বার্তা পাঠাতে একটি সুন্দর ইউজার ইন্টারফেস সহ একটি ইমেল ক্লায়েন্ট ব্যবহার করে - তবে আপনি একটি কাজ সম্পূর্ণ হলে বা একটি ঘটনা ঘটলে আপনার কম্পিউটার একটি ইমেল বিজ্ঞপ্তি পাঠাতে চাইতে পারেন৷ পি>

এই ধরনের ইমেল সতর্কতাগুলি সাধারণত কম ডিস্কের জায়গায় সতর্ক করতে বা কোনও ত্রুটি ঘটলে, শক্তি হারিয়ে গেলে কাউকে অবহিত করতে ব্যবহৃত হয় - এমনকি আপনি আপনার সর্বশেষ অ্যাপে নতুন ব্যবহারকারীর সাইনআপের দৈনিক সারাংশ প্রদান করতে একটি বিজ্ঞপ্তি লিখতে পারেন৷ এখানে বেশ কয়েকটি টুল রয়েছে যা আপনাকে এটি করতে দেবে – উদাহরণ সহ।

মেল পাঠানোর উপর একটি নোট

এই নিবন্ধের উদাহরণগুলি সবই ধরে নেবে যে আপনি মেল পাঠানোর জন্য একটি বহিরাগত SMTP সার্ভার ব্যবহার করছেন৷ এটি Amazon SES বা MailGun-এর মতো একটি ডেডিকেটেড ইমেল পাঠানোর পরিষেবা হতে পারে, অথবা আপনি আপনার অনলাইন ইমেল প্রদানকারী (Gmail, Outlook.com) থেকে তাদের দেওয়া SMTP বিশদ ব্যবহার করে ইমেল পাঠাতে পারেন৷

এই নিবন্ধটি একটি সাধারণ কারণে আপনার নিজের SMTP হোস্ট থেকে সরাসরি মেল সেট আপ করা এবং পাঠানোকে কভার করে না – আপনার বার্তাগুলি যদি কোনও আবাসিক আইপি ঠিকানা থেকে আসে তবে সেগুলি ব্লক করা হতে পারে এবং আপনার ইমেল সতর্কতাগুলি কিনা তা সমাধান করতে আপনার কঠিন সময় হবে৷ সঠিকভাবে কাজ করছে এবং ব্লক করা হচ্ছে, অথবা কাজ করছে না।

সঠিক প্রোগ্রাম নির্বাচন করা

অনেক সফ্টওয়্যার প্যাকেজ ইমেল পাঠাতে পারে - একটি বড় সংখ্যা। আমি সেগুলিকে কভার করার চেষ্টা করতে যাচ্ছি না – আপনি এখানে এমন কিছু খুঁজছেন যা ঠিক কাজ করে, তাই…

এমএসএমটিপি এই কাজের জন্য একটি আদর্শ হাতিয়ার, তাই আমি এই নিবন্ধটির ফোকাস রাখব কীভাবে সেই প্রোগ্রামটি ব্যবহার করতে হয়।

আগে, SSMTP আমার পছন্দের পছন্দ ছিল, কিন্তু সেই প্যাকেজের বিকাশ বন্ধ হয়ে গেছে - MSMTP একটি ভাল প্রতিস্থাপন।

অন্যান্য বিকল্পের মধ্যে রয়েছে sendmailমেইল, এবং mutt আদেশ সব কাজ করবে, কিন্তু MSMTP ব্যবহার করা এবং কনফিগার করা সহজ এবং একটি স্বাধীন কনফিগারেশন বজায় রাখতে পারে যা সিস্টেম মেলের সাথে হস্তক্ষেপ করবে না।

ইমেল পাঠাতে MSMTP ব্যবহার করে

MSMTP একটি প্রোগ্রাম যা ইমেল পাঠায় (এবং শুধু ) ইমেল পাঠায় – এটি ব্যাশ স্ক্রিপ্ট থেকে ইমেল পাঠানোর জন্য নিখুঁত করে তোলে।

একবার আপনি MSMTP ইন্সটল করলে, আপনি ব্যবহার করে ম্যানুয়াল দেখতে পারেন:

man msmtp

MSMTP ইনস্টল করুন

Debian/Ubuntu-ভিত্তিক সিস্টেমে, প্রয়োজনীয় MSMTP ইনস্টল করতে নিম্নলিখিত কমান্ডগুলি চালান প্যাকেজ এবং ca- সার্টিফিকেট প্যাকেজ যদি এটি ইতিমধ্যে ইনস্টল করা না থাকে:

sudo apt update
sudo apt install msmtp ca-certificates

সুডো এই নিবন্ধ জুড়ে রুট/প্রশাসনিক সুবিধা সহ কমান্ড চালানোর জন্য কমান্ড ব্যবহার করা হয়।

MSMTP কনফিগার করুন

MSMTP প্রতি-ব্যবহারকারী কনফিগারেশন বা একটি গ্লোবাল সিস্টেম কনফিগারেশন সমর্থন করে – আমরা এটিকে একটি গ্লোবাল কনফিগারেশনের সাথে সেট আপ করব যাতে সমস্ত পরিষেবা ইমেল পাঠাতে MSMTP ব্যবহার করতে পারে।

MSMTP একটি উদাহরণ কনফিগারেশন ফাইলের সাথে আসে যা আমরা একটি টেমপ্লেট হিসাবে ব্যবহার করতে পারি - ব্যবহারের জন্য আমাদের /etc/ ফোল্ডারে এটির একটি অনুলিপি তৈরি করতে হবে:

sudo cp /usr/share/doc/msmtp/examples/msmtprc-system.example /etc/msmtprc

ন্যানো ব্যবহার করে কনফিগারেশন ফাইলটি সম্পাদনা করুন পাঠ্য সম্পাদক:

sudo nano /etc/msmtprc

এখন, আপনি ইমেল পাঠাতে যে SMTP সার্ভার ব্যবহার করবেন তার বিশদ বিবরণ পূরণ করতে পারেন। আপনি যদি বিভিন্ন সার্ভার বা ঠিকানা থেকে পাঠাতে চান তবে আপনি বেশ কয়েকটি মেল অ্যাকাউন্ট সংজ্ঞায়িত করতে পারেন।

নীচে দুটি Gmail ঠিকানা সহ একটি নমুনা কনফিগারেশন রয়েছে:

# Set default values for all following accounts.
defaults
auth           on
tls            on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile        ~/.msmtp.log

# Gmail 1
account        gmail1
host           smtp.gmail.com
port           587
from           admin@wsxdn.com
user           username1
password       password1

# Gmail 2
account        gmail1
host           smtp.gmail.com
port           587
from           admin@wsxdn.com
user           username2
password       password2


# Set a default account
account default : gmail1

ফাইলটি সংরক্ষণ করুন – MSMTP ব্যবহারের জন্য প্রস্তুত৷

একটি ইমেল পাঠান

একবার MSMTP সেট আপ হয়ে গেলে, আপনি যেতে প্রস্তুত। MSMTP থেকে ইমেল পাঠাতে কোনো অতিরিক্ত সফ্টওয়্যারের প্রয়োজন নেই – আপনি সহজভাবে printf ব্যবহার করতে পারেন আপনার ইমেল তৈরি করতে কমান্ড এবং msmtp কমান্ডে পাইপ করুন:

printf "Subject: Testing\nHello there!." | msmtp -a gmail2 admin@wsxdn.com

"বিষয়:টেস্টিং\nহ্যালো আছে!।" - এটি ইমেল যা পাঠানো হবে। বিষয়: ব্যবহার করে একটি বিষয়কে সংজ্ঞায়িত করা হয় বিষয় টেক্সট দ্বারা অনুসরণ. \n একটি নতুন লাইন সংজ্ঞায়িত করে, যা তারপর ইমেল বডি টেক্সট দ্বারা অনুসরণ করা হয়। অতিরিক্ত \n ফরম্যাটিং সহ একটি প্লেইন টেক্সট মেসেজ তৈরি করতে প্রয়োজন হলে নতুন লাইন যোগ করা যেতে পারে।

-a কোন ইমেল অ্যাকাউন্ট থেকে ইমেল পাঠানো হবে তা সেট করতে বিকল্পটি ব্যবহার করা হয় - যদি এটি সেট না করা হয়, ডিফল্ট ব্যবহার করা হবে।

মুট ব্যবহার করে একটি সংযুক্তি সহ একটি ইমেল পাঠান

একটি সংযুক্তি সহ একটি ইমেল পাঠানো কিছুটা জটিল - এটি সহজ করার জন্য অতিরিক্ত সফ্টওয়্যার প্রয়োজন৷ মুট একটি ইমেল ক্লায়েন্ট যা স্ক্রিপ্টে ব্যবহারের জন্য ন্যূনতম ঝামেলা সহ এই কার্যকারিতা যোগ করে৷

এটি চালানোর মাধ্যমে ইনস্টল করুন:

sudo apt install mutt

মুট নির্ভরতা হিসাবে পোস্টফিক্স মেল ট্রান্সফার এজেন্ট ইনস্টল করতে পারে - এটি একটি মেল কনফিগারেশনের জন্য জিজ্ঞাসা করবে। আপনি নিরাপদে কোন কনফিগারেশন নেই বেছে নিতে পারেন - কনফিগার করার জন্য আমাদের পোস্টফিক্সের প্রয়োজন নেই। এই নিবন্ধে আগে যেমন উল্লেখ করা হয়েছে, আমরা এই সিস্টেম থেকে সরাসরি মেল পাঠাতে চাই না কারণ স্প্যাম ফিল্টারিংয়ের কারণে এটি তার গন্তব্যে পৌঁছাতে পারে না৷

MSMTP এর মত, mutt প্রতি ব্যবহারকারী এবং বিশ্বব্যাপী কনফিগারেশন আছে। আমরা একটি বিশ্বব্যাপী কনফিগারেশন ব্যবহার করব যাতে সমস্ত ব্যবহারকারী/পরিষেবা সংযুক্তি সহ মেল পাঠাতে পারে। ন্যানো ব্যবহার করে ফাইলটি তৈরি করুন এবং সম্পাদনা করুন চালানোর মাধ্যমে টেক্সট এডিটর:

nano /etc/muttrc

নীচের কনফিগারেশনটি লিখুন (আপনার নিজস্ব মেইল ​​কনফিগারেশনের সাথে প্রতিস্থাপিত মান সহ):

set sendmail="/usr/bin/msmtp"
set use_from=yes
set realname="Your Name"
set admin@wsxdn.com
set envelope_from=yes

মুট এখন কনফিগার করা হয়েছে এবং একটি সংযুক্তি সহ একটি ইমেল পাঠাতে ব্যবহার করা যেতে পারে:

mutt -a attachment.txt -s "My Subject" -- admin@wsxdn.com < "Email message body"

প্রতি ব্যবহারকারী বনাম গ্লোবাল কনফিগারেশন

উপরে, বিশ্বব্যাপী কনফিগারেশন সংজ্ঞায়িত করা হয়েছে। আপনি যদি কনফিগারেশনটি শুধুমাত্র নির্দিষ্ট ব্যবহারকারীদের জন্য প্রযোজ্য করতে চান - যাতে প্রতিটি ব্যবহারকারী শুধুমাত্র তাদের নিজস্ব ব্যবহারকারীর অ্যাকাউন্ট থেকে পাঠাতে পারে, উদাহরণস্বরূপ - ব্যবহারকারীদের হোম ডিরেক্টরিতে নিম্নলিখিত ফাইলগুলিতে কনফিগারেশনটি রাখুন:

~/.msmtprc
~/.muttrc

  1. লিনাক্সে কার্যকরী ব্যাশ স্ক্রিপ্ট লেখার জন্য 10টি দরকারী টিপস

  2. উইন্ডোজ 10 এ ব্যাশ (লিনাক্স শেল) কীভাবে ইনস্টল ও ব্যবহার করবেন [টিউটোরিয়াল]

  3. উইন্ডোজ 10 এ কীভাবে লিনাক্স ব্যাশ শেল ইনস্টল করবেন

  4. 5টি ব্যবহারিক উদাহরণ সহ ব্যাশ স্ক্রিপ্টিং ভূমিকা টিউটোরিয়াল