২০২৬ সালে নিজেই বানান মেইল সার্ভার: পোস্টফিক্স এবং কাস্টম লিনাক্স VPS কনফিগারেশনের সম্পূর্ণ গাইড

২০২৬ সালে নিজেই বানান মেইল সার্ভার: পোস্টফিক্স এবং কাস্টম লিনাক্স VPS কনফিগারেশনের সম্পূর্ণ গাইড

ডিজিটাল বিশ্বে সম্পূর্ণ নিয়ন্ত্রণ চান? নিজের মেইল সার্ভার তৈরি করা হলো সেই সুপারপাওয়ার, যা আপনাকে গুগল বা মাইক্রোসফটের উপর নির্ভরশীলতা থেকে মুক্তি দেবে। কিন্তু সতর্কতা: এটি শেখার জন্য দুর্দান্ত, তবে বাণিজ্যিক ব্যবহারের জন্য জটিল হতে পারে।

মেইল সার্ভার তৈরির আগে যা জানা অপরিহার্য

ওয়েব সার্ভার থেকে মেইল সার্ভার আলাদা। একটি ছোট ভুল কনফিগারেশন আপনার সমস্ত মেইলকে রিসিভারের স্প্যাম ফোল্ডারে পাঠিয়ে দিতে পারে।

  • VPS প্রোভাইডার বাছাই: DigitalOcean, Vultr, Hetzner-এর মতো প্রোভাইডাররা SMTP (পোর্ট ২৫) সাপোর্ট করে। অনেক শেয়ার্ড বা সস্তা VPS এই পোর্ট ব্লক করে দেয়।
  • IP রেপুটেশন: আপনার VPS আইপির ইতিহাসই নির্ধারণ করবে মেইলটি ইনবক্সে যাবে নাকি স্প্যামে।

এই গাইডটি উবুন্টু ২২.০৪, একটি ডোমেইন (example.com), এবং রুট অ্যাক্সেস আছে এমন VPS-এর জন্য প্রযোজ্য। প্রতিটি ধাপে কারণ ব্যাখ্যা করা হবে, যাতে আপনি কেবল কমান্ড কপি-পেস্ট না করে, বুঝে এগোতে পারেন।


আমাদের তৈরি করা মেইল সার্ভার আর্কিটেকচার

একটি রবাস্ট সিস্টেম গড়তে আমরা কয়েকটি মূল কম্পোনেন্ট ব্যবহার করব। প্রতিটির কাজ ভিন্ন।

  • Postfix: মেইল পাঠানো ও গ্রহণ করা (SMTP)
  • Dovecot: ব্যবহারকারীদের IMAP/POP3 এর মাধ্যমে মেইলবক্স অ্যাক্সেস দেওয়া
  • MariaDB: সমস্ত ব্যবহারকারী এবং ডোমেইনের তথ্য ডাটাবেজে সংরক্ষণ
  • SPF, DKIM, DMARC: এই তিনটি প্রোটোকল আপনার মেইলকে স্প্যাম হিসেবে চিহ্নিত হওয়া থেকে রক্ষা করবে
  • SSL/TLS সার্টিফিকেট: মেইল ট্রান্সমিশন এনক্রিপ্ট করবে
  • ফায়ারওয়াল (UFW): অবাঞ্ছিত অ্যাক্সেস থেকে সার্ভার সুরক্ষিত রাখবে

ধাপ ১: VPS-এর বেসিক সেটআপ – হোস্টনেম এবং হোস্টস ফাইল ঠিক করুন

প্রথমেই সার্ভারটি আপডেট করে নিন এবং হোস্টনেম সেট করুন। এই ধাপ নেটওয়ার্কিং সঠিকভাবে কাজ করার জন্য অত্যন্ত গুরুত্বপূর্ণ।

apt update && apt upgrade -y
hostnamectl set-hostname mail.example.com

এবার হোস্টস ফাইল এডিট করুন যাতে সার্ভার নিজেকে চিনতে পারে।

nano /etc/hosts

নিচের লাইনটি যোগ করুন (আপনার সার্ভারের আসল IP দিয়ে `YOUR_SERVER_IP` রিপ্লেস করুন):

YOUR_SERVER_IP mail.example.com mail

সবশেষে, সার্ভার রিবুট দিন:

reboot

ধাপ ২: DNS রেকর্ড – SPF, DKIM, DMARC ছাড়া মেইল স্প্যামে যাবে

এটি সবচেয়ে গুরুত্বপূর্ণ ধাপ। আপনার ডোমেইন কন্ট্রোল প্যানেলে (যেমন Cloudflare, Namecheap) নিচের রেকর্ডগুলো অবশ্যই যোগ করতে হবে।

  • A Record:
    Name/Host: mail
    Value: YOUR_SERVER_IP
  • MX Record:
    Name/Host: @ (বা আপনার ডোমেইন)
    Value: mail.example.com
    Priority: 10
  • SPF (TXT Record):
    Name/Host: @
    Value: v=spf1 mx ip4:YOUR_SERVER_IP ~all

DKIM এবং DMARC রেকর্ড আমরা পরে জেনারেট করে যোগ করব। SPF রেকর্ডটি এখনই দিয়ে রাখলে ইনিশিয়াল সেটআপ সহজ হবে।


ধাপ ৩: প্রয়োজনীয় সব প্যাকেজ ইন্সটলেশন

একটি কমান্ডেই ইন্সটল হয়ে যাবে মেইল সার্ভারের মূল সফটওয়্যারগুলো।

apt install -y postfix postfix-mysql dovecot-core dovecot-imapd \
dovecot-mysql mariadb-server certbot ufw

পোস্টফিক্স ইন্সটলের সময় দুটি প্রশ্নের উত্তর দিন:

  • “General type of mail configuration?”Internet Site নির্বাচন করুন।
  • “System mail name?” → আপনার ডোমেইন (যেমন: example.com) লিখুন।

ধাপ ৪: MariaDB ডাটাবেজ তৈরি এবং ব্যবহারকারী যোগ করুন

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

mysql -u root -p

মাইএসকিউল প্রম্পটে নিচের কমান্ডগুলো রান করুন:

CREATE DATABASE mailserver;
CREATE USER 'mailuser'@'localhost' IDENTIFIED BY 'STRONG_PASSWORD';
GRANT ALL PRIVILEGES ON mailserver.* TO 'mailuser'@'localhost';
FLUSH PRIVILEGES;

USE mailserver;

CREATE TABLE virtual_domains (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(50) NOT NULL
);

CREATE TABLE virtual_users (
  id INT AUTO_INCREMENT PRIMARY KEY,
  domain_id INT NOT NULL,
  password VARCHAR(255) NOT NULL,
  email VARCHAR(100) NOT NULL
);

-- আপনার ডোমেইন যোগ করুন
INSERT INTO virtual_domains (name) VALUES ('example.com');

-- প্রথম ব্যবহারকারী যোগ করুন (পাসওয়ার্ড: password123)
INSERT INTO virtual_users (domain_id, password, email)
VALUES (
  1,
  ENCRYPT('password123', CONCAT('$6

ধাপ ৫: Postfix কনফিগারেশন – আপনার SMTP সার্ভার চালু করা

Postfix-ই আপনার মেইল পাঠানোর এবং গ্রহণের ইঞ্জিন। এটিকে ডাটাবেজের সাথে সংযুক্ত করাই এ ধাপের মূল কাজ।

, SUBSTRING(SHA(RAND()), -16))), '[email protected]' ); EXIT;

ধাপ ৫: Postfix কনফিগারেশন – আপনার SMTP সার্ভার চালু করা

Postfix-ই আপনার মেইল পাঠানোর এবং গ্রহণের ইঞ্জিন। এটিকে ডাটাবেজের সাথে সংযুক্ত করাই এ ধাপের মূল কাজ।

প্রধান কনফিগারেশন ফাইলটি এডিট করুন:

nano /etc/postfix/main.cf

নিচের লাইনগুলো যোগ করুন বা আপডেট করুন:

myhostname = mail.example.com
mydomain = example.com
myorigin = $mydomain
inet_interfaces = all
mydestination = localhost
virtual_mailbox_domains = mysql:/etc/postfix/mysql-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-users.cf
virtual_transport = lmtp:unix:private/dovecot-lmtp

এরপর, পোস্টফিক্সকে ডাটাবেজের সাথে কানেক্ট করতে দুটি লুকআপ ফাইল তৈরি করুন। ফাইলের ভিতরে আগে তৈরি করা পাসওয়ার্ড (`STRONG_PASSWORD`) দিতে ভুলবেন না।

কনফিগারেশন শেষে systemctl restart postfix কমান্ড দিয়ে সার্ভিস রিস্টার্ট করতে হবে। কোন এরর না দেখালেই কনফিগারেশন সফল হয়েছে ধরে নিন।


ধাপ ৬: Dovecot সেটআপ – IMAP এর মাধ্যমে মেইলবক্স অ্যাক্সেস

Dovecot ব্যবহারকারীদের তাদের ইমেইল ক্লায়েন্ট (যেমন Thunderbird, Outlook) এ মেইল দেখতে এবং পড়তে দেবে।

  • মেইলবক্স লোকেশন: /var/mail/vhosts/ ডিরেক্টরিতে সব মেইল জমা হবে।
  • এনক্রিপশন: আমরা প্লেইন টেক্সট অথেনটিকেশন ডিজেবল করব, শুধু এনক্রিপ্টেড কানেকশন অনুমোদন করব।

সবচেয়ে গুরুত্বপূর্ণ স্টেপ হলো vmail নামের একটি সিস্টেম ইউজার তৈরি করা এবং ফোল্ডারের উপর সঠিক মালিকানা দেওয়া।

groupadd -g 5000 vmail
useradd -g vmail -u 5000 vmail -d /var/mail
mkdir -p /var/mail/vhosts
chown -R vmail:vmail /var/mail

ধাপ ৭: SSL/TLS সার্টিফিকেট – Let’s Encrypt দিয়ে বিনামূল্যে এনক্রিপশন

আপনার মেইল ট্রান্সফার যাতে কেউ উঁকি মারতে না পারে, তার জন্য SSL সার্টিফিকেট অত্যাবশ্যক

certbot certonly --standalone -d mail.example.com

সার্টিফিকেট ইস্যু হওয়ার পর, পোস্টফিক্স এবং ডোভকট কনফিগ ফাইলে সার্টিফিকেট পাথ যোগ করুন এবং সার্ভিসগুলো রিস্টার্ট দিন।


ধাপ ৮: DKIM ও DMARC সেটআপ – মেইলকে স্প্যামের হাত থেকে চূড়ান্ত সুরক্ষা

Gmail বা Yahoo-এর মতো বড় প্রোভাইডাররা DKIM সিগনেচার ছাড়া মেইলকে সন্দেহের চোখে দেখে।

apt install opendkim opendkim-tools -y
mkdir -p /etc/opendkim/keys/example.com
opendkim-genkey -s mail -d example.com

cat mail.txt কমান্ড দিয়ে যে TXT রেকর্ডটি দেখাবে, সেটি আপনার DNS প্যানেলে DKIM রেকর্ড হিসেবে যোগ করুন। পাশাপাশি, একটি DMARC রেকর্ডও যোগ করুন যাতে রিপোর্ট পাওয়া যায়।


ধাপ ৯: ফায়ারওয়াল কনফিগারেশন – শুধু প্রয়োজনীয় পোর্ট খোলা রাখুন

সিকিউরিটির জন্য সব পোর্ট বন্ধ রেখে শুধু মেইল সার্ভিসের জন্য প্রয়োজনীয় পোর্টগুলো (২৫, ৫৮৭, ৯৯৩) ও SSH (২২) পোর্ট খুলে দিন।

ufw allow 22
ufw allow 25
ufw allow 587
ufw allow 993
ufw enable

ধাপ ১০: টেস্টিং – আপনার সার্ভার কাজ করছে কিনা যাচাই করুন

টেলনেট বা কমান্ড লাইন দিয়ে প্রথমে SMTP কানেকশন টেস্ট করুন।

telnet mail.example.com 25

কানেকশন হতে পারে কিনা দেখুন। এরপর, আপনার ইমেইল ক্লায়েন্টে নিচের তথ্য দিয়ে যোগ করুন:

  • ইনকামিং মেইল সার্ভার (IMAP): mail.example.com, পোর্ট ৯৯৩, SSL/TLS চালু
  • আউটগোয়িং মেইল সার্ভার (SMTP): mail.example.com, পোর্ট ৫৮৭, STARTTLS চালু
  • ইউজারনেম ও পাসওয়ার্ড হিসেবে [email protected] এবং আপনি যে পাসওয়ার্ড ডাটাবেজে দিয়েছেন সেটি ব্যবহার করুন।

বাস্তবতার নিরিখে মূল্যায়ন: এই সেটআপ কাদের জন্য?

নিজের মেইল সার্ভার চালানো শেখার জন্য, গোপনীয়তা রক্ষার জন্য, বা একটি টেম্পোরারি মেইল সিস্টেম তৈরির জন্য এটি একটি নিখুঁত প্রজেক্ট। কিন্তু, বাণিজ্যিক বা অফিসিয়াল যোগাযোগের জন্য অনুপযুক্ত

  • এর চেয়ে ভালো বাণিজ্যিক সমাধান: Google Workspace, Zoho Mail, Proton Mail।
  • এই গাইডের পরের ধাপ: Fail2ban দিয়ে সিকিউরিটি হার্ডেনিং, SpamAssassin ইন্সটল করা, বা পুরো সিস্টেমটিকে Docker-ize করা।

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

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *