Email Spam Tester

Email Spam Tester › Plesk-এর জন্য Email Spam Tester

Plesk-এর জন্য Email Spam Tester

Plesk ব্যবহারকারী হোস্টিং প্রদানকারীদের জন্য একটি এক্সটেনশন। গ্রাহকেরা কোনো ডোমেইনের Mail ট্যাব থেকে এটি খোলেন, আপনার সার্ভার থেকেই পাঠানো একটি টেস্ট ইমেল পাঠান এবং পরীক্ষার ফলাফল, ইমেল প্রদানকারীদের কোন ফোল্ডারে ইমেলটি পৌঁছেছে তা এবং DKIM, SPF ও DMARC ঠিক করার বোতাম পান।

Version 0.1.0, ১ অক্টোবর ২০২৬। ডাউনলোড করুন (৭৫ KB), SHA-256 5df918a10cd996799f5d144abcc101970fab31fbb7e2298be78362257c0aaa28। ইনস্টলেশনের ধাপগুলো এই পৃষ্ঠার শেষে রয়েছে। আর্কাইভের ভেতরে একই লেখা INSTALL.md ফাইলে রয়েছে। কোড এবং রিলিজ হিসেবে একই আর্কাইভ GitHub-এও রয়েছে।

এটি কাদের জন্য

যেসব হোস্টিং প্রদানকারীর সার্ভার Linux-এ Plesk Obsidian 18.0.50 বা তার পরের সংস্করণ চালায়। আপনি root হিসেবে এক্সটেনশনটি ইনস্টল করে সার্ভারটি একবার নিবন্ধন করেন। এরপর প্রতিটি গ্রাহক Websites & Domains › their domain › Mail-এ Mail Settings-এর পাশে Email Spam Tester দেখতে পান। সার্ভিস প্ল্যানের মাধ্যমে নির্ধারিত হয় কে এর কোন অংশ ব্যবহার করতে পারবেন।

একটি ওয়েব টেস্টার প্রেরণের দিকটি পরীক্ষা করতে পারে না, এটি শুধু যে ইমেলটি তার কাছে পৌঁছেছে সেটিই দেখতে পায়। এক্সটেনশনটি আপনার সার্ভার থেকে Postfix-এর মাধ্যমে টেস্ট ইমেল পাঠায়, যা ডোমেইনের DKIM কী দিয়ে স্বাক্ষরিত এবং ডোমেইনের IP ও HELO নাম ব্যবহার করে পাঠানো হয়। তাই প্রতিবেদনটি গ্রাহকের বাস্তব সেটআপ সম্পর্কে তথ্য দেয়। আর Plesk-এ ডোমেইনের DNS জোন থাকায়, কোনো রেকর্ড অনুপস্থিত হলে প্রায়ই একটি বোতাম চাপলেই সেটি যোগ করা যায়।

একজন গ্রাহক যা দেখেন

টেস্ট

একেবারে ওপরে এমন একটি পরীক্ষা থাকে, যা কোনো ইমেল পাঠানোর আগেই চলে: এই সার্ভারটি ডোমেইনের SPF যাচাইয়ে পাস করে কি না, Plesk DKIM দিয়ে স্বাক্ষর করে কি না এবং DNS-এর key-টি স্বাক্ষরের জন্য ব্যবহৃত key-এর সঙ্গে মেলে কি না, DMARC policy এবং MX। প্রতিটি সমস্যার জন্য একটি ঠিক করুন বোতাম থাকে। ডোমেইনের DNS অন্য কোথাও পরিচালিত হলে রেকর্ড দেখুন বোতাম থাকে।

এর নিচে গ্রাহক ডোমেইনের একটি mailbox এবং টেস্টটি কীভাবে পাঠানো হবে তা বেছে নেন। এটি ওই mailbox হিসেবে পাঠানো যেতে পারে, অথবা website যেভাবে mail পাঠায় সেভাবে, subscription-এর নিজস্ব system user-এর অধীনে। WordPress, contact form এবং shop notification এভাবেই পাঠানো হয়। দ্বিতীয় পদ্ধতিটি hosting-এর একটি সাধারণ সমস্যা শনাক্ত করে, PHP থেকে এমন sender দিয়ে mail পাঠানো, যাকে ডোমেইনের SPF অন্তর্ভুক্ত করে না। ইমেলটি হয় standard test email, অর্থাৎ ইংরেজিতে একটি সংক্ষিপ্ত message, text ও HTML, অথবা গ্রাহকের নিজের ইমেল, যেখানে subject, HTML এবং ঐচ্ছিক text পেস্ট করা হয়।

"ইমেল প্রদানকারীদের folder-ও পরীক্ষা করুন" ডিফল্টভাবে চালু থাকে। এরপর server পেছনে থেকে এলোমেলো ক্রমে, প্রতিটি ইমেলের মধ্যে দুই থেকে চার সেকেন্ড বিরতি দিয়ে Gmail, Outlook, Yahoo এবং অন্যান্য প্রদানকারীর প্রতিটি test mailbox-এ একটি করে copy পাঠায়। প্রতিটি copy-তে আলাদা Message-ID থাকে, যাতে extension Postfix-এর log থেকে সংশ্লিষ্ট lineগুলো শনাক্ত করতে পারে। পরবর্তী আধা ঘণ্টায় table-টি পূর্ণ হয়: প্রতিটি প্রদানকারীর জন্য Inbox, Spam বা Promotions, অথবা কোনো প্রদানকারী ইমেলটি প্রত্যাখ্যান করলে SMTP code-সহ তার response। Gmail-এ এগুলো public test mailbox, এবং সেখানে যে কেউ subject, sender name ও folder দেখতে পারেন। তাই গোপনীয় content folder পরীক্ষা ছাড়া test করাই ভালো।

Report-এ প্রতিটি check, ১০০-এর মধ্যে score এবং প্রচলিত ০ থেকে ১০ score, AI plan এবং একই fix buttonগুলো থাকে। এবার এগুলো report-এ ইমেলটি যে IP থেকে আসতে দেখা গেছে, সেই IP ব্যবহার করে।

ইতিহাস

ডোমেইনের সব test, সর্বশেষটি প্রথমে, দুটি score ও folder count-সহ দেখানো হয়। এছাড়া score-এর chart এবং প্রতিটি test-এর জন্য আগের test-এর পর যেসব check-এর ফল বদলেছে সেগুলো থাকে। DKIM ঠিক করার পর row-তে দেখায়, DKIM fail থেকে pass হয়েছে।

মনিটরিং

আপনি server-এ এটি অনুমোদন করলে, একজন গ্রাহক কোনো ডোমেইনের জন্য monitoring চালু করতে পারেন। এরপর থেকে ডোমেইনটি পাঠানো প্রতিটি ইমেলের জন্য DKIM, SPF ও DMARC, sending IP এবং blocklist-সহ একটি technical report তৈরি হয়। Tab-টি source অনুযায়ী গত ২৪ ঘণ্টার সারাংশ দেখায়, তাই website-এর PHP থেকে পাঠানো mail webmail বা mail app থেকে পাঠানো mail-এর চেয়ে আলাদাভাবে গণনা করা হয়। এরপর alertগুলো দেখানো হয়, যেমন সাম্প্রতিক ইমেলগুলোতে DKIM fail করলে বা website থেকে পাঠানো mail-এর SPF fail করলে। এর নিচে সর্বশেষ ইমেলগুলো তাদের report-সহ থাকে। একই shop template থেকে পাঠানো দুটি order confirmation এক ঘণ্টার মধ্যে একটি check হিসেবে গণনা করা হয়, তাই ব্যস্ত shop থেকে একই ধরনের হাজারটি report তৈরি হয় না। অনুরোধ করলে একটি ইমেলের জন্য AI plan পাওয়া যায়।

অ্যাডমিনিস্ট্রেটর যা পান

Tools & Settings › Mail › Email Spam Tester-এ পুরো সার্ভারের জন্য নিবন্ধন ও মনিটরিং চালু করার সুইচ রয়েছে। সেখানে প্রতিটি সাবস্ক্রিপশনের জন্য টেস্ট, ফোল্ডার পরীক্ষা, AI প্ল্যান ও মনিটর করা ডোমেইনের সীমা এবং প্রতিটি মনিটর করা ডোমেইনের জন্য দৈনিক ইমেলের সীমা নির্ধারণ করা হয়। একটি টেবিলে সার্ভারের নিজস্ব IP, সেগুলোর reverse DNS, তা HELO নামের সঙ্গে মেলে কি না এবং ব্লকলিস্ট দেখানো হয়।

এক্সটেনশনটি সার্ভিস প্ল্যানে চারটি অনুমতি যোগ করে: এক্সটেনশনটি ব্যবহারের জন্য, সংশোধনের বোতামগুলোর জন্য, ফোল্ডার পরীক্ষা ও মনিটরিংয়ের জন্য। চারটিই ডিফল্টভাবে চালু থাকে। DNS বোতামগুলোর জন্য DNS পরিচালনা করতে প্ল্যানের নিজস্ব অনুমতিও প্রয়োজন, আর DKIM সুইচের জন্য মেইল সেটিংস পরিচালনার অনুমতি প্রয়োজন।

মূল্য

আপাতত বিনামূল্যে, পরীক্ষকটির মতোই। এটি পরিবর্তন হলে সবার আগে পরিবর্তনের তালিকায় জানানো হবে। আপনি যে সীমাগুলো নির্ধারণ করেন, সেগুলো প্রতি সার্ভারের জন্য Email Spam Tester নির্ধারিত সীমার মধ্যে প্রযোজ্য (দৈনিক ফোল্ডার পরীক্ষা, ডোমেইন পরীক্ষা এবং পর্যবেক্ষণ করা ডোমেইন)। অ্যাডমিনিস্ট্রেটরের পৃষ্ঠায় আজকের ব্যবহারসহ উভয় সীমাই দেখানো হয়।

এটি কীভাবে কাজ করে এবং আপনার সার্ভার থেকে কী কী বাইরে যায়

এক্সটেনশনটি আপনার সার্ভার থেকে টেস্ট ইমেল পাঠায় এবং নিজে কোনো সিদ্ধান্ত নেয় না। পরীক্ষায় কী পাওয়া গেছে, ইতিহাস, কী পরিবর্তিত হয়েছে, কোন DNS রেকর্ড প্রকাশ করতে হবে, মনিটরিং ফিড, সতর্কতা ও সীমা, সবকিছু Email Spam Tester API নির্ধারণ করে। সাইটটিও একই API ব্যবহার করে। API-তে যা পাঠানো হয়:

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

হোস্টিং প্রদানকারীরা যেসব প্রশ্ন করেন

এটি কি নিজে থেকেই DNS পরিবর্তন করে?

না। গ্রাহক Fix চাপলে, রেকর্ডটি বর্তমানে যেমন আছে এবং পরিবর্তনের পর যেমন হবে তা নিশ্চিত করলেই কেবল রেকর্ড পরিবর্তিত হয়। এ ছাড়া, ডোমেইনের DNS সত্যিই আপনার সার্ভার থেকে সবার কাছে সরবরাহ হতে হবে। SPF রেকর্ডে আগে থাকা প্রতিটি টার্ম অপরিবর্তিত থাকে। সার্ভারের IP প্রথমে যোগ করা হয় এবং এতে অতিরিক্ত কোনো DNS লুকআপ লাগে না। আগে থেকে থাকা DMARC নীতি কখনো প্রতিস্থাপন করা হয় না। প্রতিটি পরিবর্তন Plesk-এর অ্যাকশন লগে যোগ হয় এবং Test ট্যাব থেকে সেটি ফিরিয়ে নেওয়া যায়, যদি এর মধ্যে কেউ রেকর্ডটি সম্পাদনা না করে থাকে। পাবলিক রিজলভার কোনো অনুপস্থিত রেকর্ডকে জোনের SOA minimum সময় পর্যন্ত মনে রাখে, Plesk-এর ডিফল্ট টেমপ্লেটে এই সময় তিন ঘণ্টা। তাই সংশোধনের পরপরই পরীক্ষা করলে পুরোনো ফলাফল দেখা যেতে পারে।

মনিটরিং কীভাবে ইমেলের কপি তৈরি করে?

Plesk ইমেলে DKIM স্বাক্ষর যোগ করার পর একটি Plesk মেইল হ্যান্ডলার চলে। এটি প্রতিটি বার্তা অপরিবর্তিত অবস্থায় পাঠিয়ে দেয়। যে ডোমেইনে মনিটরিং চালু আছে, তার ক্ষেত্রে এটি বার্তাটির একটি কপি 127.0.0.1-এর একটি Postfix লিসেনারের কাছে দেয়, যা শুধু আমাদের মনিটরিং ঠিকানাগুলো গ্রহণ করে। এরপর Postfix একই IP এবং একই স্বাক্ষর ব্যবহার করে অন্য যেকোনো ইমেলের মতো কপিটি পৌঁছে দেয়। ইমেলটি কার, তা SMTP লগইন বা সাবস্ক্রিপশনের সিস্টেম ব্যবহারকারী থেকে নির্ধারিত হয়, শুধু প্রেরকের ঠিকানা থেকে কখনোই নয়। তাই কেউ নিজের ইমেল অন্য গ্রাহকের ফিডে ঢোকাতে পারে না। হ্যান্ডলারটি /usr/local/lib/email-spam-tester-এ এবং ডোমেইনের তালিকা /etc/email-spam-tester/monitor.json-এ ইনস্টল করা হয়।

এটি কি আউটগোয়িং ইমেল ধীর করে?

হ্যান্ডলারটি বার্তা পড়ে এবং সেটি ফেরত দেয়। কপিটি একটি আলাদা প্রসেসের মাধ্যমে লোকাল লিসেনারের কাছে পাঠানো হয়, তাই কপি পৌঁছানো পর্যন্ত মূল বার্তাকে অপেক্ষা করতে হয় না। মনিটরিং চালু রেখে আমি sendmail ও SMTP উভয়ের মাধ্যমে 5 MB-এর একটি অ্যাটাচমেন্ট পাঠিয়েছি। মূল বার্তা ও কপি, দুটিই পৌঁছেছে।

সরাসরি পরিবেশে কী কী পরীক্ষা করা হয়েছে?

Ubuntu 24.04-এ Plesk Obsidian 18.0.81, এমন একটি সার্ভারে যার পাবলিক IP আছে এবং যা একটি ডোমেইনের DNS সরবরাহ করে: ইনস্টল, আনইনস্টল ও পুনরায় ইনস্টল, নিবন্ধন, DKIM, SPF বা DMARC নেই এমন ডোমেইন থেকে ফোল্ডার যাচাইসহ একটি পরীক্ষা, তিনটি Fix বোতাম, তিনটিই পাস করার পর দ্বিতীয় পরীক্ষা, ইতিহাস এবং ওয়েবসাইট ও একটি মেইল অ্যাপ থেকে পাঠানো ইমেলের মনিটরিং। ওয়েব পেজগুলো একটি লোকাল Plesk-এ পরীক্ষা করা হয়েছে। এখনো পরীক্ষা করা হয়নি: অন্যান্য Linux ডিস্ট্রিবিউশন ও Plesk সংস্করণ, smarthost-এর মাধ্যমে রিলে করে এমন সার্ভার এবং Postfix-এর বদলে qmail। Windows-এর জন্য Plesk সমর্থিত নয়। আপনি এগুলোর কোনো একটিতে এটি চালালে আমাকে লিখুন।

ধাপে ধাপে ইনস্টল করুন

এই নির্দেশিকায় ধরে নেওয়া হয়েছে যে Plesk সার্ভারে আপনার রুট অ্যাক্সেস আছে। নিচের প্রতিটি কমান্ড ঠিক যেভাবে দেওয়া আছে, সেভাবেই কপি ও পেস্ট করার জন্য।

1. যা প্রয়োজন

ইনস্টল করার আগে দুটিই পরীক্ষা করতে পারেন। প্রথম কমান্ডটি 220 দিয়ে শুরু হওয়া একটি লাইন দেখাবে, দ্বিতীয়টি 200 দেখাবে:

timeout 10 bash -c 'exec 3<>/dev/tcp/t.email-spam-tester.com/25 && head -1 <&3'
curl -s -o /dev/null -w '%{http_code}\n' https://email-spam-tester.com/health

2. ইনস্টল করুন

রুট হিসেবে SSH দিয়ে লগ ইন করুন। এক্সটেনশন ও এর চেকসাম ডাউনলোড করুন:

cd /root
curl -fsSLO https://email-spam-tester.com/plesk/latest.zip
curl -fsSLO https://email-spam-tester.com/plesk/latest.zip.sha256

ডাউনলোডটি অক্ষত আছে কি না পরীক্ষা করুন। আপনার latest.zip: OK দেখা উচিত। FAILED দেখলে আবার ডাউনলোড করুন এবং আর এগোবেন না:

sha256sum -c latest.zip.sha256

এটি ইনস্টল করুন:

plesk bin extension --install /root/latest.zip

শেষ লাইনে The extension was successfully installed. দেখা উচিত।

3. সার্ভার নিবন্ধন করুন

Plesk-এ Tools & Settings › Mail › Email Spam Tester-এ যান এবং Register this server চাপুন। সেবা সম্পর্কিত বিজ্ঞপ্তির জন্য একটি ইমেল ঠিকানা দিতে পারেন, তবে এটি ঐচ্ছিক।

নিবন্ধনের সময় সার্ভারের হোস্টনেম, Plesk ও এক্সটেনশনের সংস্করণ, সাবস্ক্রিপশনের সংখ্যা এবং ওই ইমেল ঠিকানা পাঠানো হয়। উত্তরে একটি কী পাওয়া যায়, যা এই সার্ভারেই এক্সটেনশনের সেটিংসে এনক্রিপ্ট করা অবস্থায় থাকে। গ্রাহকেরা এটি কখনো দেখতে পান না।

গ্রাহকেরা Websites & Domains › a domain › Mail-এ Email Spam Tester পাবেন। সার্ভার নিবন্ধিত না হওয়া পর্যন্ত সেখানে শুধু আপনার সঙ্গে যোগাযোগ করতে বলা হবে।

4. কে কোন সুবিধা পাবেন তা বেছে নিন

Service Plans › a plan › Permissions-এ এবং প্রতিটি সাবস্ক্রিপশনের নিজস্ব পারমিশনে এক্সটেনশনটি চারটি পারমিশন যোগ করে, যার সবগুলো ডিফল্টভাবে চালু থাকে:

প্রতি সাবস্ক্রিপশনের সীমা, যেমন টেস্ট, ফোল্ডার চেক, AI প্ল্যান, মনিটর করা ডোমেইন এবং প্রতিদিন প্রতি ডোমেইনে মনিটর করা ইমেলের সংখ্যা, একই Tools & Settings › Mail › Email Spam Tester পেজে রয়েছে।

5. নিয়মিত মনিটরিং (ঐচ্ছিক)

আপনি অনুমতি না দেওয়া এবং কোনো গ্রাহক তাঁর ডোমেইনের জন্য এটি চালু না করা পর্যন্ত কিছুই কপি করা হয় না। Tools & Settings-এ এক্সটেনশনের পেজে Allow constant monitoring on this server চাপুন। এতে যোগ হবে:

একই পেজে Disable on the whole server রয়েছে, যা তিনটিই সরিয়ে দেয় এবং প্রতিটি ডোমেইনের মনিটরিং বন্ধ করে।

কমান্ড লাইন থেকে বর্তমান অবস্থা দেখতে:

/usr/local/psa/admin/sbin/modules/email-spam-tester/est-monitor status

"state": "active" মানে এটি চালু আছে। "off" মানে কখনো অনুমতি দেওয়া হয়নি অথবা এটি সরিয়ে দেওয়া হয়েছে। "partial" মানে কোনো অংশ অনুপস্থিত, Plesk কখনো কখনো আপডেটের সময় Postfix-এর master.cf আবার লিখে দেয়। একই পেজের Repair সেটি পুনরুদ্ধার করে। একটি দৈনিক টাস্কও স্বয়ংক্রিয়ভাবে একই কাজ করে।

6. আপগ্রেড করুন

ধাপ 2-এর মতো নতুন latest.zip ও এর চেকসাম ডাউনলোড করে পরীক্ষা করুন, তারপর:

plesk bin extension --upgrade /root/latest.zip

নিবন্ধন, সীমা ও মনিটরিং আগের অবস্থাতেই থাকে। মনিটরিং চালু থাকলে এর ফাইলগুলো নতুন সংস্করণে আপডেট করা হয়।

7. আনইনস্টল করুন

plesk bin extension --uninstall email-spam-tester

এটি Postfix ও Plesk-এর মেইল হ্যান্ডলার থেকে মনিটরিং সরিয়ে দেয় এবং মনিটর করা প্রতিটি ডোমেইন বন্ধ করে। এটি কখনো DNS রেকর্ড পরিবর্তন করে না, গ্রাহকেরা এক্সটেনশনের বোতাম দিয়ে যেসব রেকর্ড তৈরি করেছেন সেগুলোও নয়।

মনিটরিং চালু থাকলে আগে এটি সরিয়ে নেওয়া ভালো, যাতে সেখানে কোনো ব্যর্থতা ঘটলে তা শুধু Plesk-এর লগে থাকার পরিবর্তে সরাসরি দেখা যায়:

/usr/local/psa/admin/sbin/modules/email-spam-tester/est-monitor disable

শেষে এটি অবস্থা দেখায়। "state": "off" মানে হ্যান্ডলার, লিসেনার ও তালিকা সরানো হয়েছে।

8. কিছু কাজ না করলে