Starlight™ ভার্চুয়াল মেশিনে একটি মেইল সার্ভার কনফিগার করার উপায়

আপনার ভার্চুয়াল মেশিন (VM)-এ পোর্ট ২৫ খুলতে, যান Starlight Manager > "Mail Bridge" ট্যাবটি নির্বাচন করুন > ‘Add Mail Bridge’ বোতামে চাপ দিন।

PTR রেকর্ড সেট হয়ে গেলে এবং পোর্ট ২৫ সক্রিয় হলে, আপনি আপনার পছন্দের SMTP সার্ভার সেটআপ করতে পারবেন। নিচে Postfix, Exim এবং Sendmail-এর উদাহরণ দেওয়া হলো। আপনার VM IP ব্যবহার করুন যা আপনার Starlight Manager-এ দেখানো হয়েছে এবং নিশ্চিত করুন যে আপনার PTR রেকর্ডের জন্য ডোমেইন নাম আপনার প্রেরক ডোমেইনের সাথে মেলে (যেমন, mail.example.com)।

Postfix ইনস্টল ও কনফিগার করা

# for Debian/Ubuntu

sudo apt update

sudo apt install postfix mailutils -y



# for Almalinux/Rocky/Cloudlinux/EL

# check RPM-based distros to check

# if Postfix is installed

rpm -qa | grep postfix

# if it is not, run the command below to install Postfix

sudo dnf install postfix



Postfix ইনস্টল হলে, আপনি সার্ভিসটি চালু করতে পারবেন এবং নিশ্চিত করতে পারবেন এটি সার্ভার রিবুটের পরও চালু থাকে:

sudo systemctl start postfix

sudo systemctl enable postfix

এরপর, আপনি সার্ভিসটি কনফিগার করতে পারবেন। সার্ভিসের জন্য প্রয়োজনীয় সব অপশন /etc/postfix ডিরেক্টরিতে অবস্থিত এবং প্রধান কনফিগারেশন ফাইল হলো /etc/postfix/main.cf

চালান sudo nano /etc/postfix/main.cf কমান্ডটি প্রধান কনফিগারেশন ফাইল সম্পাদনা শুরু করতে এবং এই লাইনগুলো যোগ বা আপডেট করতে:

inet_interfaces = all

# myhostname declares mail server’s hostname

myhostname = mail.example.com

# mydomain declares the domain that actually handles emails

domain = example.com

# mail_spool_directory declares the directory where mailbox files are placed

mail_spool_directory = /var/mail

myorigin = /etc/mailname

mydestination = $myhostname, localhost.$mydomain, localhost

relayhost =

inet_protocols = all

smtp_banner = $myhostname ESMTP



পরিবর্তন কার্যকর করতে Postfix পুনরায় চালু করুন:

sudo systemctl restart postfix



মেইল পাঠানো পরীক্ষা করুন:

echo "Test message" | mail -s "Test Email" user@recipient.com

Exim 4 ইনস্টল ও কনফিগার করা

# for Ubuntu/Debian

sudo apt update

sudo apt install exim4 -y



নিচের কমান্ডটি সফটওয়্যার কনফিগার করার জন্য একটি উইজার্ড ইউজার ইন্টারফেস দেখায়। এটি ব্যবহারকারীদের সিদ্ধান্ত নিতে দেয় Exim কি একাধিক ফাইলে কনফিগারেশন ভাগ করবে নাকি এক ফাইলে সংরক্ষণ করবে:

sudo dpkg-reconfigure exim4-config

প্রথম অপশনটি ব্যবহার করলে, কনফিগারেশনটি /etc/exim4/conf.d সাবডিরেক্টরিতে সংরক্ষিত হবে। একটি কনফিগারেশন ফাইল বেছে নিলে, এটি /etc/exim4/exim4.conf

সব কনফিগারেশন শেষ হলে, systemctl restart exim4 চালান যাতে পরিবর্তন কার্যকর হয়।

সম্পাদনা করুন /etc/exim4/update-exim4.conf.conf নিশ্চিত করতে:

# dc_local_interfaces declares your mail service IP (e.g. 203.0.113.10)

dc_local_interfaces='203.0.113.10'

# dc_readhost declares your system mail name

dc_readhost='example.com'

# dc_other_hostnames declares system hostname

dc_other_hostnames='mail.example.com'



পরিবর্তন কার্যকর করতে Exim পুনরায় চালু করুন:

sudo systemctl restart exim4


নিচের কমান্ডটি চালিয়ে ইমেইল ডেলিভারি পরীক্ষা করুন:

echo "Mail test" | mail -s "Exim Test" user@recipient.com

Sendmail ইনস্টল ও কনফিগার করা

# for Ubuntu/Debian

sudo apt update

sudo apt install sendmail sendmail-bin -y

# for Almalinux/Cloudlinux/RHEL

yum install sendmail sendmail-cf mailutils


Sendmail-এর প্রধান কনফিগারেশন ফাইল হলো /etc/mail/sendmail.cf। এই ফাইলটি সরাসরি সম্পাদনা এড়িয়ে চলুন। কনফিগারেশন সম্পাদনার প্রয়োজন হলে, পরিবর্তে /etc/mail/sendmail.mc ফাইলটি সম্পাদনা করুন, মূল কনফিগ ফাইলটি ব্যাকআপ করুন এবং নতুন কনফিগ ফাইল তৈরি করতে নিচের বিকল্পগুলোর একটি ব্যবহার করুন:

১) সংযুক্ত মেকফাইল /etc/mail ব্যবহার করে নতুন কনফিগ তৈরি করুন:

make all -C /etc/mail/

 

সব তৈরি হওয়া ফাইল /etc/mail-এ সংরক্ষিত থাকবে এবং প্রয়োজনে পুনরায় তৈরি হবে।

২) বিকল্পভাবে, আপনি m4ম্যাক্রো প্রসেসর ব্যবহার করে নতুন /etc/mail/sendmail.cf তৈরি করতে পারেন। m4ম্যাক্রো প্রসেসর ডিফল্টভাবে ইনস্টল করা থাকে না। এটি ব্যবহার করার আগে /etc/mail/sendmail.cf ইনস্টল করুন m4প্যাকেজ root হিসেবে:

# for Almalinux/Cloudlinux/RHEL

yum install m4


# for Ubuntu/Debian

apt install m4


নিম্নোক্ত Sendmail কনফিগারেশন ফাইলগুলো /etc/mail/ডিরেক্টরিতে অবস্থিত:

  • access- কোন কোন সিস্টেম Sendmail ব্যবহার করে আউটবাউন্ড মেইল পাঠাতে পারবে তা নির্ধারণ করে

  • domaintable- ডোমেইন নাম ম্যাপিং

  • local-host-names - সার্ভার হোস্টের জন্য এলিয়াস

  • mailertable- নির্দিষ্ট ডোমেইনের জন্য রাউটিং ওভাররাইডের নির্দেশনা

  • virtusertable- ডোমেইন-নির্দিষ্ট এলিয়াসিং, যা একাধিক ভার্চুয়াল ডোমেইন হোস্ট করতে দেয়।


নিচে দেখানো হয়েছে কিভাবে কনফিগারেশন ফাইলগুলো সম্পাদনা করা যায়:

# editing the server host aliases:

echo "mail.example.com" > /etc/mail/local-host-names


# binding to Mail IP by editing /etc/mail/sendmail.mc:
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Addr=203.0.113.10')dnl


# rebuilding the config:
sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf


# testing:

echo "Hello from Sendmail" | mail -s "Sendmail test" user@recipient.com

উল্লিখিত কনফিগারেশন ফাইলগুলোর কয়েকটি পরিবর্তন কার্যকর করতে হলে তাদের তথ্য ডাটাবেস ফাইলে সংরক্ষণ করতে হয়। কনফিগারেশন ফাইলে কোনো পরিবর্তন করলে, makemap hash /etc/mail/<name> < /etc/mail/<name>কমান্ডটি root হিসেবে চালান। এখানে <name> হলো আপডেট করতে চাওয়া কনফিগারেশনের নাম।

Sendmail প্রসেস পুনরায় চালু করতে systemctl restart sendmail কমান্ডটি চালান।

একটি বৈধ ইমেইল প্রয়োজন