Virtual Machine-এ কীভাবে একটি মেইল সার্ভার কনফিগার করবেন

আপনার Virtual Machine (VM)-এ পোর্ট 25 খুলতে, VPS Manager > এ যান, "Mail Bridge" ট্যাবটি নির্বাচন করুন > ‘Add Mail Bridge’ বোতামটি চাপুন।

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

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

# Debian/Ubuntu-এর জন্য

sudo apt update

sudo apt install postfix mailutils -y



# Almalinux/Rocky/Cloudlinux/EL-এর জন্য

# RPM-ভিত্তিক distro-গুলোতে পরীক্ষা করতে

# যদি Postfix ইনস্টল করা থাকে

rpm -qa | grep postfix

# যদি এটি ইনস্টল না থাকে, তাহলে 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 মেইল সার্ভারের hostname ঘোষণা করে

myhostname = mail.example.com

# mydomain সেই ডোমেইন ঘোষণা করে যা প্রকৃতপক্ষে ইমেইল পরিচালনা করে

domain = example.com

# mail_spool_directory সেই ডিরেক্টরি ঘোষণা করে যেখানে mailbox ফাইলগুলো রাখা হয়

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 ইনস্টল ও কনফিগার করা

# Ubuntu/Debian-এর জন্য

sudo apt update

sudo apt install exim4 -y



নিচের কমান্ডটি সফটওয়্যার কনফিগার করার জন্য একটি wizard user interface প্রদর্শন করে। এটি ব্যবহারকারীদের সিদ্ধান্ত নিতে দেয় যে 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 আপনার মেইল সার্ভিসের IP ঘোষণা করে (যেমন 203.0.113.10)

dc_local_interfaces='203.0.113.10'

# dc_readhost আপনার সিস্টেমের মেইল নাম ঘোষণা করে

dc_readhost='example.com'

# dc_other_hostnames সিস্টেম hostname ঘোষণা করে

dc_other_hostnames='mail.example.com'



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

sudo systemctl restart exim4


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

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

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

# Ubuntu/Debian-এর জন্য

sudo apt update

sudo apt install sendmail sendmail-bin -y

# Almalinux/Cloudlinux/RHEL-এর জন্য

yum install sendmail sendmail-cf mailutils


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

1) নতুন config তৈরি করতে অন্তর্ভুক্ত makefile /etc/mail ব্যবহার করুন:

make all -C /etc/mail/

 

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

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

# Almalinux/Cloudlinux/RHEL-এর জন্য

yum install m4


# Ubuntu/Debian-এর জন্য

apt install m4


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

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

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

  • local-host-names - সার্ভার host-এর aliases

  • mailertable- নির্দিষ্ট ডোমেইনগুলোর জন্য routing override করে এমন নির্দেশনা

  • virtusertable- ডোমেইন-নির্দিষ্ট aliasing-এর একটি রূপ নির্ধারণ করে, যা মেশিনে একাধিক virtual domain host করার সুযোগ দেয়।


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

# সার্ভার host aliases সম্পাদনা করা:

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


# /etc/mail/sendmail.mc সম্পাদনা করে Mail IP-তে bind করা:
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Addr=203.0.113.10')dnl


# config পুনর্নির্মাণ করা:
sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf


# পরীক্ষা:

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

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

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

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