কেন 587 ও 465 পোর্টে পাঠাবেন
পোর্ট 25 হলো মেইল সার্ভারগুলোর একে অপরকে ইমেইল হস্তান্তরের পোর্ট। সার্ভার থেকে সরাসরি গ্রহণকারীর মেইল সার্ভারে পাঠালে IP-র সুনাম, রিভার্স DNS ও পাঠানোর পরিমাণ সামলানো সব নিজেকেই করতে হয়, আর নতুন সার্ভারের IP থেকে পাঠানো ইমেইল সহজে স্প্যামে চলে যায়।
587 ও 465 হলো লগইন করা ইউজারের ইমেইল জমা দেওয়ার সাবমিশন পোর্ট। ইমেইল পাঠানোর সার্ভিসে আইডি ও পাসওয়ার্ড দিয়ে লগইন করে ইমেইল জমা দিলে সুনাম পরিচালিত পাঠানোর সার্ভার আপনার হয়ে পৌঁছে দেয়। সদস্য নিবন্ধনের নিশ্চিতকরণ, পাসওয়ার্ড পুনরুদ্ধার ও অর্ডারের নোটিফিকেশনের মতো ইমেইল ইনবক্সে ভালোভাবে পৌঁছানোর সবচেয়ে নিশ্চিত উপায়।
- 587: সাধারণ টেক্সটে সংযোগ করে তারপর STARTTLS দিয়ে এনক্রিপশন শুরু হয়। বেশিরভাগ সার্ভিস ও প্রোগ্রাম ডিফল্টভাবে এই পোর্ট ব্যবহার করে।
- 465: শুরু থেকেই TLS দিয়ে এনক্রিপ্ট করে সংযোগ হয়। সেটিং স্ক্রিনে প্রায়ই SSL বা SSL/TLS হিসেবে দেখা যায়।
ইমেইল পাঠানোর সার্ভিস বাছাই
ইমেইল পাঠানোর সার্ভিস মূলত দুই ধরনের। একটি হলো ওয়েবসাইট ও অ্যাপের নোটিফিকেশন ইমেইল বেশি পরিমাণে পাঠানোর ট্রানজ্যাকশনাল ইমেইল সার্ভিস, আরেকটি হলো আগে থেকে ব্যবহার করা অফিস বা ব্যক্তিগত ইমেইল অ্যাকাউন্টের SMTP সুবিধা। যেটাই হোক, নিচের চারটি তথ্য পেলেই সেটিংয়ের প্রস্তুতি শেষ।
- SMTP সার্ভারের অ্যাড্রেস: যেমন smtp.example.com
- পোর্ট: 587 (STARTTLS) বা 465 (SSL/TLS)
- ইউজারনেম: সার্ভিসের দেওয়া আইডি বা ইমেইল অ্যাড্রেস
- পাসওয়ার্ড: সার্ভিসের SMTP-র আলাদা পাসওয়ার্ড বা API কী
বেশি ইমেইল পাঠানো অনলাইন শপ বা সার্ভিসে ট্রানজ্যাকশনাল ইমেইল সার্ভিস পাঠানোর রেকর্ড, বাউন্স সামলানো ও আনসাবস্ক্রাইব ব্যবস্থাপনাও করে দেয়, তাই সুবিধা। কয়েকটি নোটিফিকেশন হলে ইমেইল অ্যাকাউন্টের SMTP-ই যথেষ্ট।
সার্ভার থেকে SMTP সংযোগ যাচাই
সেটিংয়ের আগে সার্ভার থেকে পাঠানোর সার্ভিস পর্যন্ত সংযোগ ঠিক আছে কি না যাচাই করুন। নিচের কমান্ড শুধু সংযোগ যাচাই করে, ইমেইল পাঠায় না।
nc -vz smtp.example.com 587
openssl s_client -starttls smtp -connect smtp.example.com:587 -crlf -quiet
openssl s_client -connect smtp.example.com:465 -crlf -quietপ্রথম লাইনে succeeded বা open দেখালে, আর openssl কমান্ড 220 দিয়ে শুরু হওয়া সার্ভারের অভিবাদন দেখালে প্রস্তুত। Ctrl+C দিয়ে বেরিয়ে আসুন। nc কমান্ড না থাকলে Ubuntu ও Debian-এ apt install -y netcat-openbsd, আর AlmaLinux-এ dnf install -y nmap-ncat দিয়ে ইনস্টল করুন।
Postfix-কে পাঠানোর সার্ভিসের সাথে যুক্ত করা
সার্ভারের প্রোগ্রাম, cron নোটিফিকেশন ও mail কমান্ডের পাঠানো ইমেইল এক জায়গায় আনতে Postfix-কে পাঠানোর সার্ভিসে হস্তান্তরের রিলে হিসেবে সেট করুন। সার্ভারের সব ইমেইল 587 পোর্টে লগইন করে বের হয়।
ধাপ 1. ইনস্টল
apt install -y postfix libsasl2-modules mailutilsইনস্টলের সময় মেইল সেটিংয়ের ধরন জিজ্ঞেস করলে Internet Site বেছে নিন, আর মেইলের নামে আপনার ডোমেইন লিখুন। AlmaLinux 10-এ dnf install -y postfix cyrus-sasl-plain s-nail দিয়ে ইনস্টল করে systemctl enable --now postfix দিয়ে চালু করুন।
ধাপ 2. রিলে সেটিং
postconf -e 'relayhost = [smtp.example.com]:587'
postconf -e 'smtp_sasl_auth_enable = yes'
postconf -e 'smtp_sasl_password_maps = texthash:/etc/postfix/sasl_passwd'
postconf -e 'smtp_sasl_security_options = noanonymous'
postconf -e 'smtp_tls_security_level = encrypt'
postconf -e 'inet_interfaces = loopback-only'inet_interfaces = loopback-only শুধু সার্ভারের ভেতর থেকে পাঠানো ইমেইল গ্রহণ করে, তাই বাইরে থেকে কেউ এই সার্ভারকে ইমেইল রিলে হিসেবে ব্যবহার করতে পারে না।
ধাপ 3. লগইনের তথ্য সেভ
echo '[smtp.example.com]:587 SMTP_USER:SMTP_PASSWORD' > /etc/postfix/sasl_passwd
chmod 600 /etc/postfix/sasl_passwd
systemctl restart postfix465 পোর্ট ব্যবহার করা সার্ভিস হলে relayhost ও sasl_passwd-এর পোর্ট 465 করে postconf -e 'smtp_tls_wrappermode = yes' আরেকটি লাইন যোগ করুন।
ধাপ 4. টেস্ট পাঠানো ও লগ যাচাই
echo "VPS mail test" | mail -s "Test from VPS" you@example.com
postqueue -p
journalctl -t postfix/smtp -n 20লগে status=sent দেখা গেলে পাঠানোর সার্ভিস ইমেইল নিয়ে নিয়েছে। postqueue -p এখনও বের হতে না পারা ইমেইলের তালিকা দেখায়। লগইনের তথ্য ঠিক করে থাকলে systemctl restart postfix-এর পর postqueue -f দিয়ে আবার পাঠান।
WordPress ও অ্যাপে SMTP সেটিং
বেশিরভাগ ওয়েবসাইট ও অ্যাপে SMTP সেটিংয়ের ঘর থাকে, তাই সার্ভারে Postfix না রেখে সরাসরি পাঠানোর সার্ভিসে যুক্ত করলেও চলে। WordPress-এ SMTP প্লাগইন ইনস্টল করে নিচের মান দিলে সদস্য নিবন্ধন ও পাসওয়ার্ড পুনরুদ্ধারের ইমেইল সেই সার্ভিস দিয়ে যায়।
- SMTP হোস্ট: পাঠানোর সার্ভিসের অ্যাড্রেস
- এনক্রিপশন: 587 হলে TLS (STARTTLS), 465 হলে SSL
- পোর্ট: 587 বা 465
- অথেনটিকেশন: চালু, ইউজারনেম ও পাসওয়ার্ড লিখুন
- প্রেরকের অ্যাড্রেস: আপনার ডোমেইনের অ্যাড্রেস (যেমন: no-reply@example.com)
Node.js, PHP ও Python অ্যাপেও একই মান দিয়ে মেইল লাইব্রেরি সেট করুন। পাসওয়ার্ড সরাসরি কোডে না লিখে এনভায়রনমেন্ট ভেরিয়েবল বা সেটিং ফাইলে রাখলে গোছানো থাকে। WordPress ইনস্টল WordPress ইনস্টল গাইড-এ আছে।
ডোমেইনের DNS-এ SPF, DKIM ও DMARC যোগ করা
গ্রহণকারী মেইল সার্ভার DNS রেকর্ড দেখে যাচাই করে যে এই ইমেইল সত্যিই আপনার ডোমেইনের অনুমোদিত জায়গা থেকে এসেছে কি না। তিনটি রেকর্ড যোগ করলে ইনবক্সে পৌঁছানোর হার অনেক বাড়ে।
- SPF: আপনার ডোমেইনের ইমেইল পাঠাতে পারে এমন সার্ভারের তালিকা। পাঠানোর সার্ভিস যে include মান জানায় তা একটি TXT রেকর্ডে দিন।
- DKIM: ইমেইলে যুক্ত ইলেকট্রনিক সিগনেচার। পাঠানোর সার্ভিসের স্ক্রিনে তৈরি করে দেওয়া TXT বা CNAME রেকর্ড হুবহু যোগ করুন।
- DMARC: SPF ও DKIM যাচাইয়ে ব্যর্থ ইমেইল কীভাবে সামলানো হবে তা ঠিক করে। শুরুতে নিচের মতো শুধু রিপোর্ট পাওয়ার সেটিং দিয়ে শুরু করুন।
_dmarc.example.com TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.com"কয়েক সপ্তাহ রিপোর্ট দেখে সব ইমেইল পাস হচ্ছে নিশ্চিত হলে p=quarantine, তারপর p=reject-এ তুলে ডোমেইনের ছদ্মবেশ ঠেকান।
ইমেইল গ্রহণ ও পরের ধাপ
আপনার ডোমেইনে আসা ইমেইল গ্রহণ করতে মেইল হোস্টিং সার্ভিসের MX রেকর্ড ডোমেইনে যোগ করুন। গ্রহণের ইমেইল মেইল হোস্টিং, আর পাঠানোর নোটিফিকেশন ইমেইল পাঠানোর সার্ভিস সামলালে সার্ভার শুধু ওয়েবসাইট ও অ্যাপে মনোযোগ দেয়।
ইমেইল পাঠানোর সার্ভিস দিয়ে পাঠানোর পদ্ধতিতে সার্ভার সরালে বা নতুন বানালেও কয়েক লাইনের সেটিং সরালেই সব আগের মতো চলে। সার্ভারের IP বদলালেও পাঠানোর সুনাম সার্ভিসের দিকেই থাকে, তাই সাইট অন্য অঞ্চলে সরালেও ইমেইল পৌঁছানোর হার নড়ে না।
অন্য পোর্ট সার্ভিস অনুযায়ী স্বাধীনভাবে খুলে ব্যবহার করুন। শুধু ব্যবহৃত পোর্ট খোলার উপায় মৌলিক ফায়ারওয়াল গাইড-এ, আর সার্ভার ব্যবহারের নিয়ম ব্যবহার নীতি-তে আছে।
