বাশ স্ক্রিপ্ট ইমেইল পাঠাতে

Bash Script Send Email



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

আরম্ভ:

কমান্ড লাইন থেকে বা ব্যাশ স্ক্রিপ্ট ব্যবহার করে ইমেল পাঠানোর জন্য অনেক লিনাক্স কমান্ড পাওয়া যায়। কিন্তু কোন ইমেইল সেন্ডিং কমান্ড কাজ করবে না যদি সিস্টেমে কোন SMTP সার্ভার সঠিকভাবে সেট আপ করা না থাকে। আপনি কমান্ড লাইন থেকে ইমেইল পাঠানোর জন্য আপনার নিজের SMTP সার্ভার সেটআপ করতে পারেন অথবা আপনি Gmail বা Yahoo এর মত যে কোন সুপরিচিত ইমেইল পরিষেবা প্রদানকারীর বিনামূল্যে SMTP সার্ভার ব্যবহার করতে পারেন। এই টিউটোরিয়ালে একটি Gmail অ্যাকাউন্টের SMTP সার্ভার ব্যবহার করা হয়। এই কাজটি করার জন্য, আপনাকে একটি জিমেইল অ্যাকাউন্ট নির্বাচন করতে হবে এবং সেই অ্যাকাউন্টের ইমেইল পাঠানোর জন্য 'কম নিরাপদ অ্যাপের অনুমতি দিন' বিকল্পটি সক্ষম করতে হবে। এই বিকল্পটি সক্ষম করতে আপনি নিম্নলিখিত টিউটোরিয়ালটি দেখতে পারেন।







https://linuxhint.com/how-to-send-email-from-php/



এই অপশনটি সক্ষম করার পর, আপনাকে '/etc/ssmtp/ssmtp.conf' ফাইলটি 'root' বিশেষাধিকার সহ খুলতে হবে এবং ফাইলের শেষে নিচের লাইনগুলো যুক্ত করতে হবে। সেটআপ সম্পন্ন করার জন্য আপনাকে আপনার ইমেল ঠিকানা 'AuthUser' এবং আপনার ইমেল পাসওয়ার্ড 'AuthPass' এ সেট করতে হবে।



STARTTLS ব্যবহার করুন= হ্যাঁ
LineOverride থেকে= হ্যাঁ
মূল= প্রশাসকexample.com
মেলহাব= smtp.gmail.com:587
AuthUser= ব্যবহারকারীর নামgmail.com
AuthPass= পাসওয়ার্ড

উদাহরণ -১: Sendmail কমান্ড ব্যবহার করা

লিনাক্সের একটি জনপ্রিয় ইমেইল পাঠানোর কমান্ড হল `সেন্ডমেইল`। এই কমান্ড ব্যবহার করে ব্যবহারকারী সহজেই কমান্ড লাইন থেকে ইমেইল পাঠাতে পারেন। যদি Sendmail প্যাকেজটি সিস্টেমে ইনস্টল করা না থাকে তাহলে প্যাকেজটি ইনস্টল করার জন্য নিম্নলিখিত কমান্ডটি চালান।





$sudoউপযুক্তইনস্টলssmtp

ধরুন, ইমেল বিষয়বস্তু নিম্নলিখিত বিষয়বস্তু সহ 'email.txt' নামে একটি ফাইলে সংরক্ষিত আছে। এখানে, ‘সাবজেক্ট’ -এর পর লেখাটি ইমেইল সাবজেক্ট হিসেবে পাঠানো হবে এবং বাকি অংশ ইমেল বডি হিসেবে পাঠানো হবে।

email.txt



বিষয়: সেন্ডমেইল ব্যবহার করে ইমেইল পাঠানো
ইমেল বডি পরীক্ষা করা হচ্ছে

নিম্নলিখিত কমান্ডের মতো প্রাপকের ইমেল ঠিকানা দিয়ে 'সেন্ডমেইল' কমান্ড চালান।

$মেইল পাঠাওব্যবহারকারীর নামgmail.com<email.txt

উদাহরণ -২: 'মেইল' কমান্ড ব্যবহার করা

লিনাক্সে ইমেইল পাঠানোর সবচেয়ে সাধারণ কমান্ড হল `মেইল` কমান্ড। এই কমান্ডটি ডিফল্টভাবে উবুন্টুতে ইনস্টল করা নেই। `মেইল` কমান্ড ইনস্টল করতে নিম্নলিখিত কমান্ডটি চালান।

$sudoউপযুক্তইনস্টলmailutils

নিম্নলিখিত কমান্ডটি এই কমান্ডের সংস্করণ দেখাবে যদি এটি সিস্টেমে ইনস্টল করা থাকে।

$মেইল-ভি

'-S' বিকল্পটি ইমেইলের বিষয় নির্ধারণের জন্য 'মেইল' কমান্ডে ব্যবহৃত হয়। ইমেইল বিষয় এবং প্রাপকের ইমেইল ঠিকানা দিয়ে নিম্নোক্ত কমান্ডের মত '-s' বিকল্প দ্বারা 'মেল' কমান্ড চালান। এটি সিসি: ঠিকানা চাইবে। আপনি যদি সিসি: ফিল্ড ব্যবহার করতে না চান তাহলে এটি ফাঁকা রাখুন এবং এন্টার টিপুন। মেসেজ বডি টাইপ করুন এবং ইমেল পাঠাতে Ctrl+D চাপুন।

$মেইল-এস 'বিষয়'ব্যবহারকারীর নামgmail.com

আপনি যদি কমান্ডে ইমেইল মেসেজ বডি যোগ করতে চান তাহলে 'ব্যবহার করুন<<<’ operator like the following command.

$মেইল-এস 'বার্তা বিষয়'ব্যবহারকারীর নামgmail.com<<< 'টেস্টিং মেসেজ বডি'

আপনি '-a' বিকল্পটি ব্যবহার করে 'মেইল' কমান্ড সহ প্রেরকের ইমেল ঠিকানা যুক্ত করতে পারেন। নিচের কমান্ডটি ইমেইলটি পাঠাবে, 'বার্তা বিষয়', প্রেরকের নাম এবং ইমেল ঠিকানা, 'প্রশাসক'<[ইমেল সুরক্ষিত]> 'এবং প্রাপকের ইমেল ঠিকানা,[ইমেল সুরক্ষিত]এবং বার্তা সংস্থা, 'পরীক্ষার বার্তা'।

$ মেইল-এস 'বার্তা বিষয়' -প্রতিথেকে: অ্যাডমিন<অ্যাডমিনexample.com>
ব্যবহারকারীর নামgmail.com<<< 'পরীক্ষার বার্তা'

আপনি ইকো এবং পাইপ (|) কমান্ড ব্যবহার করে একটি ইমেল বার্তা পাঠাতে পারেন। নিচের কমান্ডটি মেসেজ বডি পাঠানোর জন্য পাইপ (|) কমান্ড ব্যবহার করে।

$বের করে দিল 'পরীক্ষার বার্তা' |মেইল-এস 'বার্তা বিষয়'ব্যবহারকারীর নামexample.com

`মেইল` কমান্ড ব্যবহার করে এবং কমা আলাদা করে প্রাপকদের ঠিকানা যোগ করে একাধিক প্রাপকদের ইমেল পাঠানো যেতে পারে। নিম্নলিখিত কমান্ড দুটি প্রাপকদের একটি ইমেল পাঠানো হবে।

$মেইল-এস 'ইমেইল পরীক্ষা করা হচ্ছে'ব্যবহারকারীর নাম 1example.com, ব্যবহারকারীর নাম 2example.com<test.txt

উদাহরণ-3: `mutt` কমান্ড ব্যবহার করা

`মেইল` কমান্ডের মতো, ডিফল্টরূপে উবুন্টুতে` mutt` কমান্ড ইনস্টল করা নেই। `Mutt` কমান্ডটি ইনস্টল করতে নিম্নলিখিত কমান্ডটি চালান।

$sudoউপযুক্তইনস্টলমট

`mutt` কমান্ড` mail` কমান্ডের মতো কাজ করে কিন্তু ইমেল পাঠানোর জন্য `mutt` কমান্ডের নিজস্ব সম্পাদক থাকে। ইমেল পাঠানোর জন্য বৈধ ইমেল ঠিকানা দিয়ে নিম্নলিখিত কমান্ডটি চালান।

$বের করে দিলপরীক্ষার বার্তা|মট-এস 'ইমেইল পরীক্ষা করা হচ্ছে'ব্যবহারকারীর নামexample.com

আপনি '-a' বিকল্পটি ব্যবহার করে 'mail' বা 'mutt' কমান্ড দিয়ে যেকোন ফাইল সংযুক্ত করতে পারেন। ইমেল পাঠানোর সময় নিচের কমান্ডটি item.txt ফাইল সংযুক্ত করবে।

$বের করে দিল 'পরীক্ষার বার্তা' |মট-এস 'বার্তা বিষয়' -প্রতিitems.txt-ব্যবহারকারীর নামgmail.com

উদাহরণ-4: 'SSMTP' কমান্ড ব্যবহার করা

আরেকটি ইমেইল কমান্ড হল `ssmtp` কমান্ড। যদি ssmtp আগে ইনস্টল করা না থাকে তাহলে প্রথমে প্যাকেজটি ইনস্টল করুন। Ssmtp এর জন্য ইনস্টলেশন কমান্ড উদাহরণ -1 এ দেখানো হয়েছে। ssmtp এবং সেন্ডমেইল কমান্ড একইভাবে কাজ করে।

বৈধ ইমেল ঠিকানা দিয়ে নিম্নলিখিত কমান্ডটি চালান। ইমেইল সাবজেক্ট এবং বডি টাইপ করুন। প্রস্থান করতে ctrl+D টিপুন এবং ইমেল পাঠান।

$ssmtp ব্যবহারকারীর নামgmail.com

উদাহরণ -5: mailx কমান্ড ব্যবহার করা

আপনি শুধু টেক্সট মেসেজ না পাঠিয়ে ইমেইল বডি হিসেবে HTML কন্টেন্ট পাঠাতে পারেন। মেসেজ বডি হিসেবে ব্যবহার করার জন্য 'test.html' নামে একটি HTML ফাইল তৈরি করুন।

test.html

< html >
< শরীর >>
< h3 >ইমেইল পাঠানো হচ্ছে</ h3 >
< তৈরি করা আকার='2' রঙ='নেট'>মেসেজ বডি পরীক্ষা করা হচ্ছে</ তৈরি করা >
<</ শরীর >
</ html >

`mailx` কমান্ড` mail` কমান্ডের মত কাজ করে। `মেইলক্স` কমান্ডে মেসেজ বডি হিসেবে এইচটিএমএল কন্টেন্ট পাঠানোর জন্য আপনাকে কন্টেন্ট-টাইপকে টেক্সট/এইচটিএমএল হিসাবে উল্লেখ করতে হবে। নিম্নলিখিত কমান্ডটি 'test.html' ফাইলের বিষয়বস্তু ইমেল বার্তা হিসাবে পাঠাবে।

$ mailx-প্রতি 'বিষয়বস্তু-প্রকার: পাঠ্য/এইচটিএমএল' -এস 'মেইলএক্স ব্যবহার করে ইমেল পাঠানো হচ্ছে'
<test.html'[ইমেল সুরক্ষিত]'

যখন আপনি প্রাপকের ইমেল অ্যাকাউন্টের ইনবক্স চেক করবেন তখন ইমেইলগুলির তালিকা নিচের ছবি হিসেবে দেখানো হবে।

উপসংহার

উপরের কমান্ডগুলো যথাযথভাবে অনুশীলন করার পর, আশা করি পাঠক সহজেই লিনাক্সে কমান্ড লাইন থেকে ইমেইল পাঠাতে পারবেন।