কম্পিউটার টিউটোরিয়াল

Linux কমান্ড লাইন থেকে ইমেইল পাঠানোর পদ্ধতি

এই গাইডে আপনাকে দেখানো হবে কীভাবে Linux কমান্ড লাইন থেকে এবং শেল স্ক্রিপ্টের মাধ্যমে ইমেইল পাঠাতে হয়, এবং কীভাবে সেসব ইমেইলে আট্যাচমেন্ট যোগ করতে হয়।

Linux কমান্ড লাইন খুব শক্তিশালী একবার আপনি এটি ব্যবহার করতে শিখলে। আপনি ডেটা পার্স করতে পারেন, প্রসেস মনিটর করতে পারেন, অটোমেটেড ব্যাকআপ নিতে পারেন এবং আরও অনেক উপকারী ও মজার কাজ করতে পারেন। অনেক সময় রিপোর্ট জেনারেট করে মেইল করার প্রয়োজন পড়ে। এটা একদম সহজ হতে পারে—যেমন দিনের ব্যাকআপ ঠিকঠাক হয়েছে কিনা বা হয়নি সেটি নোটিফাই করা। আমি আপনাকে Linux কমান্ড লাইন এবং শেল স্ক্রিপ্ট থেকে মেইল পাঠাতে শুরু করাতে সাহায্য করব। আমরা কমান্ড লাইন থেকে আট্যাচমেন্ট পাঠাও কভার করব। আমরা "mail" কমান্ড দিয়ে শুরু করব।

mail কমান্ড

প্রথমে একটি কুইক টেস্ট করুন নিশ্চিত করার জন্য যে "sendmail" অ্যাপ্লিকেশনটি ইনস্টল আছে এবং সঠিকভাবে কাজ করছে। নিচের কমান্ডটি চালান, "you@youremailid.com"-কে আপনার ইমেইল ঠিকানা দিয়ে রিপ্লেস করুন।

# mail -s “Hello world” you@youremailid.com

রিটার্ন কী চাপুন এবং আপনি একটি নতুন লাইনে যাবেন। "This is a test from my server" লিখুন। আবার রিটার্ন কী চাপুন। তারপর Control+D কী কম্বিনেশন চাপুন। কমান্ড প্রম্পট আপনাকে জিজ্ঞেস করবে কোনো অন্য ঠিকানায় মেইল কপি পাঠাতে চান কিনা, আবার Control+D চাপুন। আপনার মেইলবক্স চেক করুন। এই কমান্ডটি উল্লিখিত ইমেইল আইডিতে "Hello world" সাবজেক্ট সহ মেইল পাঠাবে।

কমান্ড চলাকালীন মেইলের বডিতে কন্টেন্ট যোগ করতে নিচের অপশনগুলো ব্যবহার করতে পারেন। আপনি যদি নিজে টেক্সট যোগ করতে চান:

# echo “This will go into the body of the mail.” | mail -s “Hello world” you@youremailid.com

এবং আপনি যদি একটি ফাইল থেকে কন্টেন্ট পড়াতে চান:

# mail -s “Hello world” you@youremailid.com < /home/calvin/application.log

mail কমান্ডের কিছু অন্যান্য উপকারী অপশন:

-s subject (মেইলের সাবজেক্ট)
-c email-address (এই "email-address"-এ একটি কপি পাঠাবে, বা CC)
-b email-address (এই "email-address"-এ ব্লাইন্ড কার্বন কপি পাঠাবে, বা BCC)

এই অপশনগুলো কীভাবে ব্যবহার করতে হয় তার উদাহরণ:

# echo “Welcome to the world of Calvin n Hobbes” | mail -s “Hello world” calvin@cnh.com -c hobbes@cnh.com -b susie.derkins@cnh.com

ইমেইল আট্যাচমেন্টের জন্য MUTT ব্যবহার

mail কমান্ড ব্যবহার করার একটি বড় ড্রব্যাক হলো এটি আট্যাচমেন্ট পাঠাতে সাপোর্ট করে না। অন্যদিকে, mutt এটি সাপোর্ট করে। আমি এই ফিচারটি খুবই উপকারী পেয়েছি, বিশেষ করে সেই স্ক্রিপ্টগুলো জন্য যা নন-টেক্সচুয়াল রিপোর্ট বা ব্যাকআপ জেনারেট করে যেগুলো আকারে ছোট এবং जिन्हें আমি অন্য জায়গায় ব্যাকআপ রাখতে চাই। অবশ্যই, mutt আট্যাচমেন্ট পাঠানোর বাইরে আরও অনেক কিছু করতে দেয়। এটি "mail" কমান্ডের চেয়ে অনেক বেশি সম্পূর্ণ একটি কমান্ড লাইন মেইল ক্লায়েন্ট। এখন আমরা শুধু বেসিক জিনিসগুলো এক্সপ্লোর করব যা আমাদের প্রায়শই প্রয়োজন হয়। একটি ফাইল আট্যাচ করে মেইল পাঠানোর পদ্ধতি:

# echo “Sending an attachment.” | mutt -a backup.zip -s “attachment” calvin@cnh.com

এই কমান্ডটি calvin@cnh.com-এ একটি মেইল পাঠাবে যার সাবজেক্ট (-s) "attachment", বডি টেক্সট "Sending an attachment.", এবং আট্যাচমেন্ট (-a) backup.zip। mail কমান্ডের মতো আপনি "-c" অপশন ব্যবহার করে অন্য মেইল আইডিতে কপি পাঠাতে পারেন।

শেল স্ক্রিপ্ট থেকে ইমেইল পাঠানো

এখন, বেসিকগুলো কভার হয়ে গেলে আপনি আপনার শেল স্ক্রিপ্ট থেকে মেইল পাঠাতে পারবেন। এখানে একটি সিম্পল শেল স্ক্রিপ্ট দেওয়া হলো যা আপনার পার্টিশনগুলোতে স্পেস ইউজেজের রিডিং দেয় এবং ডেটাটি আপনাকে মেইল করে:

#!/bin/bash
df -h | mail -s “disk space report” calvin@cnh.com

এই লাইনগুলো আপনার Linux সার্ভারে একটি ফাইলে সংরক্ষণ করুন এবং চালান। আপনাকে কমান্ডের ফলাফল ধারণকারী একটি মেইল পাওয়া উচিত। اگر, যeday, আপনাকে এই চেয়ে বেশি ডেটা পাঠাতে হয় তবে আপনাকে ডেটাটি একটি টেক্সট ফাইলে লিখে সেটি মেইল বডিতে দিতে হবে কমপোজ করার সময়। এখানে একটি শেল স্ক্রিপ্টের উদাহরণ দেওয়া হলো যা ডিস্ক ইউজেজের পাশাপাশি মেমরি ইউজেজও নিয়ে, ডেটাটি একটি টেম্পোরারি ফাইলে লিখে, এবং তারপর সেটি মেইল বডিতে দিয়ে পাঠায়:

#!/bin/bash
df -h > /tmp/mail_report.log
free -m >> /tmp/mail_report.log
mail -s “disk and RAM report” calvin@cnh.com < /tmp/mail_report.log

এখন একটু জটিল সমস্যা। আপনাকে কিছু ফাইলের ব্যাকআপ নিতে হবে এবং সেগুলো মেইল করতে হবে। প্রথমে ডিরেক্টরিটি আর্কাইভ করা হবে। তারপর সেটি mutt ব্যবহার করে ইমেইল আট্যাচমেন্ট হিসেবে পাঠানো হবে। এটি করার জন্য একটি স্ক্রিপ্ট:

#!/bin/bash
tar -zcf /tmp/backup.tar.gz /home/calvin/files
echo | mutt -a /tmp/backup.tar.gz -s “daily backup of data” calvin@cnh.com

লাস্ট লাইনের শুরুতে `echo` থাকায় মেইল বডিতে একটি ব্ল্যাঙ্ক স্পেস যোগ হয়।

এটি আপনাকে Linux কমান্ড লাইন এবং শেল স্ক্রিপ্ট থেকে মেইল পাঠাতে শুরু করতে সাহায্য করবে। mail এবং mutt-এর "man page" পড়ুন আরও অপশনের জন্য (কমান্ডগুলো: "man mail" এবং "man mutt")। তারপর আপনার কল্পনাশক্তি ব্যবহার করুন mail কমান্ড দিয়ে কী কী করা যায়, যেমন অটোমেটেড রিপোর্ট নিজে পাঠানো।

  1. লিনাক্সে xargs কমান্ড ব্যবহার করার পদ্ধতি

  2. লিনাক্সে tee কমান্ড ব্যবহার করুন

  3. কমান্ড লাইন থেকে উবুন্টু আপগ্রেড করার পদ্ধতি

  4. Outlook-এ ইমেল এলিয়াস (Alias) দিয়ে ইমেল পাঠানো - ধাপে ধাপে গাইড